首页 > 闲鱼新闻
带你入门 Python 自动化群控
21-07-19闲鱼新闻围观661次
简介 1。前言群控,相信大多数人都不会承认!印象里是一台电脑控制多台设备完成的操作,更多的人把它和惠产绑定!事实上,群控在自动化测试中也被广泛使用!接下来的几篇文章,我将带大家聊聊企业级自动化中,群控正确的
1。前言
添加微信,免费试用软件
复制微信号
群控,相信大多数人都不会承认!印象里是一台电脑控制多台设备完成的操作,更多的人把它和惠产绑定!
事实上,群控在自动化测试中也被广泛使用!接下来的几篇文章,我将带大家聊聊企业级自动化中,群控正确的使用姿势!
本篇先从基础篇开始,聊聊使用「Python + adb」命令如何写一个群控脚本
2。准备
在本机安装 Android 开发环境,保证 adb 被添加到环境变量
将准备好多台设备,使用数据线(或者通过 Hub)连接到电脑上
通过 adb devices 可以查看已经连接的所有设备
3。
打开闲鱼App,在命令终端输入上面的命令,终端显示器包名及活动名称出来
2、通过adb命令获取所有在线的设备,通过输出内容,进行一次过滤,得到所有连接到PC端的设备
3、群控打开目标应用
遍历设备列表,使用 adb -s 设备 ID shell am start -W 命令分别打开目标应用
4、封装执行步骤方便管理设备,将每一步的操作都可以保存到YAML文件中,通过ID查找元素并点击、在输入内容分别执行、调用本地方法及输入参数这里对应: UI树控件、输入框元素并执行点击操作、保存UI树控件(界面变化了)、输入文本内容、查看搜索按钮并执行点击操作
需要不是,是为了提高群控的适配性,控件的实际坐标需要通过下面的步骤去获取:
导出界面的控件树
解析控件树XML文件,利用正则表达式得到目标控件的坐标值
计算出控件的中心点坐标
利用控件ID获取元素中心点坐标的实现代码如下:
5、设备部分是为了保证群控脚本执行不会产生干扰,在每个步骤之前,都应该将设备ID参数作为参数进行示例:将控件的界面控件树按照设备保存为的名称、点击界面和输入的命令传递相应的设备 ID 为入参
6、执行步骤
从 YAML 文件中读取执行步骤,遍历步骤集合,内部遍历设备列表,以保证每一个步骤,分别执行到每台设备上
感应,通过不同的操作,识别操作设备了
7、关闭应用当所有的完成之后,同样是关闭设备操作,利用 adb 命令去 App 分类
4。最后
本篇实现Python自动化群控最简单的实现方式,将和大家讨论更复杂的实现方式。
我已经将文中全部源码上传到后台,关注公众号后回复「qk」即可获得全部源码
如果你觉得文章还不错,请大家点赞、分享、评论下,因为这将是我持续输出更多优质文章的最强动力!
阅读推荐
爬虫工程师应该有一些基本的简要知识?
快进来看王冰冰!Python+Flask 写了一个学习提醒系统