ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Android 自动化测试及性能数据采集的 Python 脚本

Android 自动化测试及性能数据采集的 Python 脚本 文主要介绍一个基于 封装的一个 库 - 该库的功能主要有对 设备进行 UI 自动化测试 和 采集手机性能数据 适用于如列表滑动、录制视频等各种测试场景下 CPU、内存、帧率 等信息的捕获方便后续分析。安装安装自动化测试的脚本是由数字 3 来编写的, 所以想要运行这个脚本, 就必须先把数字 3 的运行环境给安装好。需要进行安装, 并且要处理相关的依赖。你需要先打开那个脚本所在的目录, 然后再去执行接下来给出的这些命令, 以便把所需要的依赖项全部安装好。pip install -r requirements.txt的使用方式在将其安装完毕之后, 通常情况下只需启动下面的那些指令来进行设备的初次设置操作, 随后再在这个硬件上面完成相关服务的部署。python -m uiautomator2 init如果出现了以下那样的提示话语, 那么就表示已经安装成功了。有关更多的使用方式, 您可以参照:这份脚本文件的具体说明内容。这个脚本库的根目录之下的主要文件, 有。关于参数说明的这部分内容, 我们接下来要把它生成为文件说明。采集到的信息会根据不同的信息类型, 被分别放置到输出目录里面的那四个子目录里面。这些文件的名字是有固定格式的, 也就是前面要加上信息类型, 中间是设备号的版本号部分和测试场景名, 最后还要带上一个时间戳, 所以看起来像是一个叫..9...csv的文件, 而且实际出来的效果大概就和后面那个图是一模一样的。输出的文件是一个csv文件, 这种文件的直接打开情况如下图所示, 同时用Excel软件来打开的效果也是下面这个样子。此外, 还可以给测试的各个阶段增加相应的节点说明。task.period idle.period idle生成类似如下的图在没有自定义测试场景的场合, 其所具备的使用方式。这种情况是适用于没有具体测试场景的。也就是说, 在脚本运行之后的一段时间内, 都处于采集状态。这个持续时间可以通过配置参数来指定。在这个过程中, 使用者可以随意操作手机。通过命令行来直接执行.py的脚本文件, 并且在这里需要明确指定一些相关的参数, 举个例子说一下, 如果我想针对video.like这个应用来进行操作, 目的是获取它在自己运行后的10s之内的cpu的使用情况以及内存的占用情况, 同时设定采样的时间间隔为200ms, 还要把最终的输出结果存储到当前这个目录下, 那么就可以选择在存放该脚本文件的目录里面, 去执行下面给出的这一条命令。python _main_.py -s 设备号-a video.like -f 0.2 -d 10 -i mem,cpu -o .-s 设备号-a video.like -f 0.2 -d 10 -i mem,cpu -o .等那个脚本程序跑完以后, 你就可以在咱们的根目录下面看到图里所展示的那些文件生成出来了。需要注意的一点是必须使用 -d 参数, 用来指定执行采集任务的时间长度, 因为如果不添加这个选项, 系统会让脚本默认持续运行 10秒钟, 与此同时完全不需要使用 -t 参数, 这是因为默认测试场景名称本身已经存在。自定义测试场景这个东西, 在使用的时候, 具体的操作方式是怎样的。自定义的测试场景无法直接去调用那个以py结尾的脚本文件。这时候, 你需要去创建一个全新的脚本代码。然后, 让这个新的脚本来继承从task.py里面的Task这个类或者对象。同时还得把Task类下面的那些#后面的方法给重新覆盖掉。接着, 就在这些个被重写过的方法里面, 把你想要自定义实现的测试场景的逻辑写进去就好。具体的操作流程, 就是像下面这张图所展示的那样来进行操作。在此处, 一个被赋予为“.py”后缀名的脚本文件得以建立起来, 紧接着所执行的步骤便是对那条运行指令施加操作:python start_app.py -s 设备号-a 进程名 -f 0.1 -i cpu,mem -o .-s 设备号-a 进程名 -f 0.1 -i cpu,mem -o .这样就可以启动对应的APP, 并且采集CPU信息和内存信息, 采样间隔为100毫秒, 最后将结果输出到当前目录。注意这里没有了 -d 参数因为采集的持续时间以测试任务的持续时间的持续时间为准设置的参数一定要按照说明来否则不能采集到数据 如果想采集自定义的信息可以继承 info.py#Info 并重写 Info# 和 Info# 方法可参考已实现的四种信息采集的写法最后通过 Task# 方法添加。自定义好测试场景之后, 需要调用 #main 方法, 并且要传入那个测试场景的实例在这里, 测试场景的名称会变成输出文件名里面的其中一部分, 所以这个名字一定要能够准确地表达出这个测试场景到底是什么意思, 比如对于某个 APP 录制视频这样的测试场景来说, 它应该被命名为采集到的信息可通过 Excel 制成图表以下是完整录制视频这样才能让名字和实际内容对应起来, 然后这个测试场景在运行过程中, 它的 CPU 占比以及内存的变化情况都会被记录下来。咱们可以透过图表去瞧一瞧, 给应用换上各个不同的版本, 再放到各种各样的场景里头去, 看看它们究竟是个什么样的性能状况, 这样子是蛮直观的。向大家推荐一下有一个专门用来分享学习资料的群组。在这些群里, 很多业内资深专家已经把各种各样的学习资料都提前为大家整理好了。这些资料涉及的范围非常广, 比如自动化测试、接口测试以及性能测试等等方面的内容。人生其实就好比是在逆水中的行船, 这种过程是非常艰难的。如果我们不努力向前划动, 就只能随着水流倒退。希望我们大家都能够一起努力奋斗, 争取不断进步。
返回列表