python appium 并行多设备_app 自动化测试 - 多设备并发 -appium+pytest+ 多线程

1、appium+python 实现单设备的 app 自动化测试

启动 appium server,占用端口 4723

电脑与一个设备连接,通过 adb devices 获取已连接的设备

在 python 代码当中,编写启动参数,通过 pytest 编写测试用例,来进行自动化测试。

2、若要多设备并发,同时执行自动化测试,那么需要:

确定设备个数

每个设备对应一个 appium server 的端口号,并启动 appium

pytest 要获取到每个设备的启动参数,然后执行自动化测试。

3、实现策略

第一步:从设备池当中,获取当前连接的设备。若设备池为空,则无设备连接。

第二步:若设备池不为空,启动一个线程,用来启动appium server.与设备个数对应。

起始server端口为4723,每多一个设备,端口号默认+4

第三步:若设备池不为空,则启用多个线程,来执行app自动化测试。

4、具体实现步骤

4.1 通过 adb 命令,获取当前已连接的设备数、设备名称、设备的安卓版本号。

定义一个 ManageDevices 类。

1. 重启adb服务。

2. 通过adb devices命令获取当前平台中,已连接的设备个数,和设备uuid.

3. 通过adb -P 5037 -s 设备uuid shell getprop ro.build.version.release获取每一个设备的版本号。

4. 将所有已连接设备的设备名称、设备版本号存储在一个列表当中。

5. 通过调用get_devices_info函数,即可获得4中的列表。

实现的部分代码为:

"""@Title : app多设备并发-appium+pytest@Author : 柠檬班-小简@Email : lemonban_simple@qq.com"""

class ManageDevices:

"""1、重启adb服务。2、通过adb devices命令获取当前平台中,已连接的设备个数,和设备uuid.3、通过adb -P 5037 -s 设备uuid shell getprop ro.build.version.release获取每一个设备的版本号。4、将所有已连接设备的设备名称、设备版本号存储在一个列表当中。5、通过调用get_devices_info函数,即可获得4中的列表。"""

def __init__(self):

self.__devices_info = []

# 重启adb服务

self.__run_command_and_get_stout("adb kill-server")

self.__run_command_and_get_stout("adb start-server")

def get_devices_info(self):

"""获取已连接设备的uuid,和版本号。:return: 所有已连接设备的uuid,和版本号。"""

self.__get_devices_uuid()

print(self.__devices_info)

self.__g

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值