python多机器并行_基于 Appium+Python 实现多设备并行执行 case 的原理及方法。

前言:

由于近期项目的需求,需要实现同时几十台设备的UI自动化测试且有客户端的交互行为,为此小编也是踩过了很多坑,故在这里分享一下经验,避免小伙伴们再次踩坑。

小编环境:

python3.6

appium:1.7.1

实现原理:多设备时的Appium Server控制,因为Appium Server与设备要一一对应,所以需要启动多个server,然后启动多个driver与其交互即可。

实现步骤:

开启多个Appium Server(本文在命令行下启动,界面UI版也可以,多设备并行建议命令行下启动):

这里注意不同的设备需要启动不同的port以及bootstrap-port,并加上设备序列号参数。

启动driver程序

注意以上desired_caps参数为必加参数,其他参数参照官方文档。这里重点说下systemPort参数,由于在android7.0及以上设备中有些控件appium不能识别,故加上此参数,此时appium会自动安装两个apk(基于uiautomator2.0)。

多线程启动server以及driver

总结:总体来说,appium框架相对稳定,但由于多设备并行需要启动多个adb端口及进程,难免会有不稳定的情况,项目中建议避免同时连接大量设备,小编此次同时连接了15台设备,appium表现还是很稳定的。

附:Appium框架原理

Appium的加载过程

1)调用Android adb完成基本的系统操作

2)向Android上部署bootstrap.jar

3)Bootstrap.jar Forward Android的端口到PC机器上

4)Pc上监听端口接收请求,使用webdriver协议

5)分析命令并通过forward的端口发给bootstrap.jar

6)Bootstrap.jar接收请求并把命令发给uiautomator

7)Uiautomator执行命令,android7.0及以上基于uiautomator2.0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值