推送自动化测试实现方案

推送自动化是一个比较麻烦的事儿,因为它的实现注定涉及到了不同的端,如推送服务器端,手机客户端,还有测试端(接口工具)等等。如何把这些端整合在一起并且让他们的工作正常流畅,本身就是一个蛮复杂的事情,普遍的逻辑应该是这样:

  1. 通过接口控制的方式(我用的Jmeter)能够使推送服务器端发送推送信息
  2. 手机端安装一个推送通知监听APP,收到推送后可以记录下推送的信息( http://www.jianshu.com/p/82713b43b59e ),再通过logcat或文件的方式保存
  3. 测试端用python或者其他语言写一个脚本,来比对1和2里面的推送信息是否一致

这个逻辑是可行的,也是可以实现的,但是总感觉有点麻烦,比如需要PC一直连接手机来获取2里面推送的信息,1也同样需要输出个文件什么的来实现和2的比对,3里面的脚本不仅要实现比对,还要有类似于报告的方式输出测试结果...

总之,我在通过这种方式设计的时候很痛苦,因为需要协作的东西有点多,同样考虑的东西也有点多...

作为一个懒人,我决定修改下上面的逻辑,我希望直接能用Jmeter的断言来实现结果对比,手机不用总是连着USB线,怎么做呢?没错,写一个服务搞定这些。

推送自动化测试.png

怎么样?引入一个测试平台服务就能解决上面的问题。逻辑变成了:

1. 通过接口控制的方式(我用的Jmeter)能够使推送服务器端发送推送信息
2. 手机端安装一个推送通知监听APP,收到推送后可以记录下推送的信息并传给测试平台服务器
3. 测试服务器存储这些信息到数据库
4. Jmeter访问测试服务器,拿到客户端收到的推送信息,进行比对

这样,虽然多了一个测试服务器的开发成本,但是整个流程变得流畅多了,不用各种各样的文件和其他脚本的介入,现成的工具直接就能搞定了。

目前我们只实现了Android手机的推送自动化,IOS的推送通知监听APP还没有头绪,主要是也不会开发...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,080评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,885评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,262评论 4 61
  • 姓名:刘卫师: 公司:宁波大发化纤有限公司 《六项精进》289期反省二组纪律委员 【日精进打卡第51天】 【知~学...
    刘伟师阅读 150评论 0 0
  • 今天学习sql,出了一个报表,按照日期进行排序显示数据的。记录下来作为自己的备份。 sql代码如下: 希望自己更加努力!
    neolu阅读 822评论 0 0