• ATX结合Maxim实现多设备并行执行压力测试(AUI自动化测试框架)


    之前我做了一个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.txtpush到电脑上报告存放的路径

     输出结果

    在monkey_run.py同级目录下,转换结果存在于一时间命名的文件夹下,不同的设备存在在不同的设备文件夹下。 

  • 相关阅读:
    电子数据取证-流程与技术
    磷脂-聚乙二醇-酰肼,DSPE-PEG-Hydrazide,DSPE-PEG-HZ,MW:5000
    PHP 数据类型转换学习资料
    19c-rac环境安装AHF
    实验5 动态路由协议EIGRP的配置
    JVM类加载机制
    【设计模式】观察者模式
    电机开源驱动器基本操作与实现
    面试复盘 | 大疆秋招 测试开发 完整面经
    Python接口调用连接失败情况解决办法
  • 原文地址:https://blog.csdn.net/caixiangting/article/details/126549763