Appium,AirTest切换使用时,appium罢工之坑(1)
由于一些元素不能定位,所以最近项目引用了Airtest
问题场景:
case的开始使用appium,case执行过程中,切换到airtest操作元素,待执行完airtest相关步骤之后,后续使用appium driver的步骤不在正常干活了……
问题原因:
因appium使用的是环境变量ANDROID_HOME指定路径sdk(/Users/XXX/Library/Android/sdk/platform-tools/adb)路径下的adb
而airtest api在安装的时候自带一个adb(/Users/XXX/Documents/GitHub/ProjectA/venv/lib/python3.6/site-packages/airtest/core/android/static/adb/mac/adb)
所以他门处于各自使用一个adb的状态,而这个两个adb的的version不一样,所以就会失败。
解决方法:
方法1.
由于我的local, sdk路径下的adb的版本低于airtest自带的版本
1. download adb from https://dl.google.com/android/repository/platform-tools-latest-darwin.zip (记得download版本跟airtest相同版本的adb)
2. unzip the download file as package “platform-tools”
3. put the package “platform-tools” into “/Users/XXX/Library/Android/sdk/”
方法2(推荐).
让appium和airtest使用同一个adb
我是让appium和airtest同时使用airtest自带的adb,所以我将 sdk(/Users/XXX/Library/Android/sdk/platform-tools/adb)路径下做了一个软连接指向airtest路径下的adb
1.cd /Users/XXX/Library/Android/sdk/platform-tools/
2.mv adb adb.bkp
3.ln -s /Users/XXX/Documents/GitHub/ProjectA/venv/lib/python3.6/site-packages/airtest/core/android/static/adb/mac/adb adb
完事就o啦!