测试场景:回归push推送任务是否正常
操作流程:后台创建push推送任务,待任务推送成功后,检验推送是否正确(备注:push推送后的跳转类型有很多种,如跳转分为原生页面和H5页面,原生页面又分为知识、语音等等....)
测试痛点:每次回归需要创建不同跳转类型(粗略统计大概有五六十种)的push任务,很耗时,如何提高效率?
jmeter脚本实现:1、批量创建各种不同跳转类型的push任务;2、检查日志文件是否发送成功
涉及接口:两个接口-创建push任务接口(/message-admin-web/rest/pushTask/save)和检查日志接口(/message-admin-web/rest/pushMessageLog/list)
1、首先需要解决登录后台的问题,最简单的方法就是:第一步、jmeter创建HTTP信息头管理器;第二部、浏览器登录后台管理系统,F12获取cookie,然后将cookie复制到jmeter的HTTP信息头管理器中,如下图
获取cookie2、创建push任务接口说明:创建push接口的参数全部参数化,读取csv文件中的数据,csv有多少条数据就设置多少线程即可,如下图,
接口参数化3、配置CSV Data Set Config,如下图
csv设置CSV文件如下图,一个跳转类型一行:
csv文件4、该接口有1个参数并非读取csv文件:push发送时间
原因:因为每次创建push发送任务的时候都需要填写该push的发送时间,必须是未来的某个时间,所有我们自定义一个参数pushTime,值为${__timeShift(,,P0DT0H1M,,)},表示当前时间加1分钟,来保证每次脚本创建的push推送时间都是当前时间+1分钟,如下图
自定义参数5、检查日志接口:uid和indexName、pushDesc的3个参数做参数化,uid即要检查的用户uid,indexName即日志文件名称,pushDesc即是push正文关键字(该参数读取csv文件)
检查日志接口参数化 自定义参数 CSV设置 csv用法:用定义的那个uid的手机号登录app,切换一个相应月龄的宝宝,然后执行脚本,会批量创建了21条不同跳转类型的push推送任务,推送时间是创建时间+1分钟,然后1分钟后检查日志接口会自动执行,检查日志中是否存在断言中对应的关键词,然后就在手机上点击相对应的push跳转是否正常
网友评论