背景
可以关注来点儿干货呀公众号~
上半年因为要把selenium grid和appium结合做UI的分布式执行,但是在过程中发现,我有几个例如5.0和5.0.1这种系统的手机时,任务不能准备的分发到对应的设备上执行,这时候排查了原因,是出在appium这块,所以对源码进行了一定的修改。
过程
这块对appium的架构及原理不做解释,直接从对应的代码入手。假设我们是通过npm install -g appium
安装的appium,那它的源码就在/usr/local/lib/node_modules/appium下面。因为我们这边只讨论的是安卓设备,所以修改appium/node_modules/appium-android-driver/android-helpers.js这个文件。
for (let device of devices) {
// direct adb calls to the specific device
await adb.setDeviceId