python 模拟器多开任务并行

哪些我踩过的坑
1、重点:强烈建议不要用appium,定位不稳定,连接不稳定
2、重点:模拟器需要持续不断重建启动时,不可以异步任务,必须并行任务。也就是可以同时开启多个模拟器但是不可以异步开启,多任务同时开启可以是多线程、多进程。但是在次开启新模拟器并建立链接,必须要等前面所有任务都结束并关闭模拟器后再次连接。
注:为什么要等待任务全部完成再次链接呢?这是我踩过的坑,不管是uiautomator2还是appium都不能多任务异步链接,如果异步链接会出现连接失败的机率很高,相当不稳定。这是为什么呢?真正的重点来的,adb的原因。不知道adb的去百度。一切的手机和模拟器都需要adb作为中间,目前本人没有搞懂adb为什么不稳定,只是了解到因为某些原因导致端口被占用了,我的结局方法就是,开启所有任务之前先把adb重启一下,等待所有任务执行为再次重启adb并执行任务。目前我只开了5个,因为我这多了不太稳定。
adb、ATX功能简介:https://testerhome.com/topics/10881
不知道ATX的看上面连接
ATX 安装:python -m uiautomator2 init
执行命令之后,会在设备里安装一个app
多任务不要每个都去init 安装,直接在模拟多开器里指定一个
主机,在主机内安装之后,复制主机启动并连接就好了

环境安装:android-sdk 、adb 、jdk 等环境,自行找环境。
adb无需安装,adb.exe命令:

# 可以开启服务器和获取当前设备id
adb devices
# 关闭服务
adb kill-server

python依赖包:weditor、uiautomator2
weditor是可以获取app元素信息的包,其他类型的也有自己网上找
安装:pip install weditor

#开启服务,会在浏览器里出现一个页面
python -m weditor

安装:pip install uiautomator2

import uiautomator2 as u2
d = u2.connect('设备id') #如何是一台设备就不用指定id, 如何是多台需要指定,我的方式是通过adb devices或者所有设备的id去建立不同的连接
d.xpath('xpath').click()
......

如果有问题的私聊我。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_JackSparrow

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值