由于我们是做基于安卓智能电视 APP 的测试团队,工作中总能遇到这样那样低概率很恶心的问题,评估问题概率时或者定位问题时,难免要手动的重复点遥控器,所以呢,基于这件恶心的事情,做了一个不成熟的重复执行测试的小工具,希望能给大家交流下,勿喷啊 本人还只是个孩子,内心脆弱,你喷我我就怼你。
整个思路呢,就是基于 appium 来做的,脚本是用 yaml 写的,执行过程根据每一次的执行结果收集执行数据存在本地,然后执行完毕后收集每一次的测试结果,最后生成一个测试报告。
看看细节吧:
1.整体目录结构大致如下:
2.程序入口:
clean_device_yaml() 清除上一次执行时 设置的 IP
set_device_yaml() 把本次 adb 连接的 IP 写入配置文件
appium_info=get_start_param() 启动 appium
3.启动 appium
4.获取测试用例
5.执行测试用例:
所谓执行测试用例,就是读取 yaml 格式的用例后,根据封装好的关键字,执行相应操作。
6.basepage 里面封装了所有用到的操作
7.每执行一次接受后会截图,并记录测试结果在本地。
8.generatereport 根据本地的测试结果生成 html 的测试报告
9.生成的测试报告是这样子的。(截图丢失了 凑合着看吧)
10.测试轮次根据 data/test_info.ini 里面的配置项 count 来的。
整体思路就是这样,使用期间遇到的问题呢就是 appium 不稳定的问题了,其余都还好,具体有多大用不敢说,只是自己一个小设想吧。
各位大神在这种低概率事件上有没有什么更好的解决方案呢?
有兴趣交流下吧。