教你用10行Python 代码实现自动化群控

本文介绍了如何使用Python结合adb命令实现自动化群控,特别是在自动化测试中的应用。首先,介绍了准备步骤,包括安装Android开发环境和连接多台设备。然后,通过实战示例展示了如何控制闲鱼App进行关键字搜索,包括获取应用信息、控制设备、封装执行步骤、区分设备执行、执行步骤和关闭应用。文章提供了详细的操作流程和代码片段。
摘要由CSDN通过智能技术生成

在这里插入图片描述

1. 前言

群控,相信大部分人都不会陌生!印象里是一台电脑控制多台设备完成一系列的操作,更多的人喜欢把它和 Hui 产绑定在一起!

事实上,群控在自动化测试中也被广泛使用! 接下来的几篇文章,我将带大家聊聊 企业 级自动化中,群控 正确的使用姿势!

本篇先从基础篇开始,聊聊使用 「 Python + adb 」 命令如何编写一套群控脚本

2. 准备

在本机安装 Android 开发环境,保证 adb 被添加到环境变量

将准备好的多台设备,使用数据线( 或者通过 Hub )连接到电脑上

通过 adb devices 命令查看已经连接的所有设备

# 下面显示连接了3台设备
xag:Test xingag$ adb devices
List of devices attached
822QEDTL225T7    device
ca2b3455        device
DE45d9323SE96   device

3. 实战

自动化群控以闲鱼 App 的一次关键字搜索为例,步骤包含:打开应用、点击到搜索界面、输入内容、点击搜索按钮

下面通过 7 步来完成这一操作

1、获 取目标应用的包名及初始化 Activity

获取方式有很多种,主流方式包含:adb 命令、解析 APK、第三方 APK、 无障碍服务

这里推荐使用 adb 命令这种方式

# 获取当前运行应用的包名及初始Activity
adb shell dumpsys activity | grep -i run

打开闲鱼 App,在命令终端输入上面的命令,终端会将包名及 Activity 名称显示出来
在这里插入图片描述
2、获取 所有在线的设备

通过 adb devices 命令,通过输出内容,进行一次过滤,得到所有连接到 PC 端的设备

# 所有设备ID
devices = []

def get_online_devices(self):
    """
    获取所有在线的设备
    :return:
    """
    global devices
    try:
        for device_serias_name in exec_cmd("adb devices"):
           # 过滤掉第一条数据及不在线的设备
           if "device" in device_serias_name:
              devices.append(device_serias_name.split("\t")[0])
           devices = devices[1:]
    except Exception as e:
            print(e)

    # 连上的所有设备及数量
    return devices

3、群控打 开目标应用

遍历设备列表,使用 adb -s 设备ID shell am start -W 命令分别打开目标应用


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值