自动采集编写(安装Python自动化测试的脚本是用Python3写的吗)

优采云 发布时间: 2021-12-29 09:07

  自动采集编写(安装Python自动化测试的脚本是用Python3写的吗)

  写在前面

  本文主要介绍一个基于uiautomator2封装的Python库android-catcher。该库的功能主要包括Android设备的UI自动化测试和手机性能数据的采集。适用于列表滑动、视频录制等各种测试场景。 CPU,内存、帧率等信息的抓取方便后续分析。

  Github地址:

  安装 Python

  自动化测试脚本使用Python 3编写,运行脚本需要安装Python 3环境。

  下载链接:

  Python 3.6.5

  安装 android-catcher 依赖

  打开脚本目录,执行以下命令安装依赖

  pip install -r requirements.txt

  使用方法 uiautomator2

  安装uiautomator2后,一般只需要执行以下命令来初始化设备并在设备上安装uiautomator2服务

  python -m uiautomator2 init

  如果出现如下提示,则安装成功

  

  更多uiautomator2的使用请参考:

  脚本文件说明

  这个脚本库根目录下的主要文件有

  参数说明 生成的文件说明

  采集到的信息根据信息类型存储在指定输出目录下的cpu_stats、mem_stats、fps_stats、net_stats四个子目录中。文件名为信息类型_设备号_应用程序ID_版本号_测试场景名称_时间戳,如cpu_d3c2edaa_video。like_RecordVideo_1.9.9_1524122928.csv.csv,实际效果大致如下

  

  输出文件为csv文件,直接打开和用Excel打开的效果如下:

  

  

  此外,您可以为测试的每个阶段添加节点描述

  task.period = "idle"

  生成类似于下图的图形

  

  如何使用无自定义测试场景

  适用于没有特定测试场景,脚本运行一段时间后脚本处于采集状态的情况。时长可以通过配置参数指定,用户可以在此过程中随意操作手机。直接通过命令行运行_main_.py脚本文件并指定相关参数

  比如我想采集applicationId为video.like的应用程序10s内的cpu信息和内存信息,采样间隔为200ms,输出目录为当前目录,那么可以在所在目录下执行如下命令脚本位于

  python _main_.py -s 设备号-a video.like -f 0.2 -d 10 -i mem,cpu -o .

  脚本运行后,在根目录下可以看到如下图的文件生成

  

  注意:要带-d参数指定采集的持续时间,否则脚本默认运行10s,不需要-t参数。默认测试场景命名为 Random

  如何使用自定义测试场景

  自定义测试场景不能直接调用_main_.py 脚本。需要新建一个脚本,继承task.py#Task并重写Task#execute方法,在Task#execute中实现自定义测试场景的逻辑,如下图所示:

  

  在这里创建一个名为 start_app.py 的脚本,运行命令:

  python start_app.py -s 设备号-a 进程名 -f 0.1 -i cpu,mem -o .

  可以启动相应的APP,采集CPU信息和内存信息,采样间隔100ms,输出到当前目录。注意这里没有-d参数,因为采集的时长以测试任务的时长为准。设置的参数必须按照说明进行,否则无法采集数据

  如果要采集

自定义信息,可以继承 info.py#Info 并重写 Info#get_start_info 和 Info#get_end_info 方法。可以参考已经实现的四种信息集合,最后通过Task#add_info方法进行添加。

  自定义测试场景后,调用_main_#main方法,传入测试场景实例。测试场景的名称将用作输出文件命名的一部分。最好取一个能准确表达测试场景的名字,比如一个APP录制视频 测试场景的名字是RecordVideo

  采集

到的信息可以通过Excel制作成图表。以下是完整视频录制测试场景的CPU比例和内存变化

  

  

  通过图表,可以直观地分析应用程序不同版本、不同场景的性能状态

  写在最后

  以上是对该库使用的一些介绍。由于工作经验还比较少,所以现在也在学习和使用Python。在编写这个库的时候,可能会有很多考虑不周或不完善的地方。有能力的朋友可以直接修改库实现更多的自定义功能。另外也希望大家多多使用,多发现问题,欢迎issue,欢迎star,欢迎新的使用需求和想法。后续会继续完善,谢谢!

  Github地址:

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线