之前我做了一个AUI自动化测试框架: 基于ATX服务器的UI自动化测试框架 实现了多设备的并行测试,能够自动生成报告并记录到指定的文件夹下面。
现在在此基础之上,增加了基于最大的压测功能。多设备的并行执行都是基于之前的基础之上。
能够实现应用卸载重新安装之后,账号登录,进入指定页面之后再执行monkey压力测试。
GitHub地址还是这个:https : //github.com/pengchenglin/ATX-Test
在用maxim的时候,发现在启动uiautomator2的时候,maxim就没法用了,原因是uiautomator2和Maxim工作时都需要连接系统的AccessibilityService。
在看uiautomator2的文档的时候发现是可以启停android-uiautomator -服务器
atx-agent提供执行设备端shell命令的功能,操作maxim其实用shell就够了。
push相关的jar和配置文件到手机上;拉出运行完成后的日志日志内容
WiFi无线拉起执行APP稳定性/压力测试,免USB连线
基于Android Monkey二次开发,实现高速点击的Android Monkey自动化工具fastmonkey-代号Maxim浅谈
自动化测试工具python-uiautomator2
工程目录
ATX_Test/Public/Maxim
文件夹下存放了maxim运行是需要的所有文件,运行的时候替换指定文件push到Android设备中。
ATX_Test/Public/maxin_monkey.py
是对maxim的shell命令的封装和执行monkey操作的两个方法封装,具体的参数定义在里面写比较清楚,可以直接去看代码
maxin_monkey.py下run_monkey的代码如下
就是然后在ATX_Test/Public/Driver.py
下增加了run_maxim
实现格言的多设备执行操作
ATX_Test/Monkey
下是登录操作的脚本和最终的运行maxim_monkey的执行文件,运行就执行monkey_run.py就好了
ATX_Test / Monkey / monkey_run.py的代码:
还是使用了macaca的bootstrap应用作为演示演示
执行猴子前卸载重装,账号登录的操作直接写成unitest的脚本,这样原来的UI自动化写的脚本直接拿来用,其实很简单的几行就搞定了了
运行maxim的命令通过maxim_monkey.py下的Maxim()。command来实现组装
最后执行Public.Drivers()。run_maxim来开始运行
运行maxim的主要代码如下:
设定好报告存放的路径,初始化设备之后,执行相关的操作:
1.清空logcat
2.存在UI自动化操作案例的执行案例
3.开始运行monkey(push相关的文件到手机,执行monkey shell命令)
4.monkey执行完成,将logcat.log
monkeyerr.txt
monkeyout.txt
push到电脑上报告存放的路径
在monkey_run.py同级目录下,转换结果存在于一时间命名的文件夹下,不同的设备存在在不同的设备文件夹下。