Appium+python自動化55-appium desktop每次啟動安裝Unlock和Appium Setting問題
前言
部分真機可能會出現每次運行代碼,啟動app之前都會重復安裝Unlock和Appium Setting這兩個小工具,有的手機會自動安裝,這個還好。
有的手機每次都會彈出一個安裝確認框(如部分小米和vivo出現),這樣就比較麻煩了,不手動去點,就無法繼續執行代碼了。
註意:appium之前老的版本1.4和appium desktop v1.7以後版本安裝路徑不一樣,也有差異
小編主要是以appium desktop(大於1.7版本)為例
我的環境:
appium desktop 桌面GUI版本 V1.7.1
appium desktop 無界面命令行版本 V1.8.1
appium desktop 桌面版本
1.先看appium desktop桌面安裝版本,如下圖,我的版本是v1.7.1
2.雙擊安裝之後,會安裝到c盤,可以直接搜索:appium desktop,然後按以下層級找到android-helpers.js修改如下幾個地方
\appium-desktop\resources\app\node_modules\appium\node_modules\appium-android-driver\lib
修改如下幾個地方: 1.註釋掉355行 // await adb.install(unicodeIMEPath, false); 2.註釋掉522行 // await helpers.pushSettingsApp(adb); 3. 註釋掉526行 // await helpers.pushUnlock(adb);
3.再繼續找到build\lib下的android-helpers.js文件
\appium-desktop\resources\app\node_modules\appium\node_modules\appium-android-driver\build\lib
修改如下幾個地方: 1.註釋掉919行,然後加一行代碼 // return _regeneratorRuntime.awrap(adb.install(_appiumAndroidIme.path, false)); return context$1$0.abrupt('return', defaultIME); 2.註釋掉1366行,然後加一行代碼 // return _regeneratorRuntime.awrap(helpers.pushSettingsApp(adb)); return context$1$0.abrupt('return', defaultIME); 3.註掉1380行,然後加一行代碼 // return _regeneratorRuntime.awrap(helpers.pushUnlock(adb)); return context$1$0.abrupt('return', defaultIME);
修改完後保存,然後重啟appium,重新執行代碼,就不會重復安裝Unlock和Appium Setting了
appium desktop 命令行版本
1.如果是通過npm安裝的appium命令行版本,我的命令行版本是1.8.1,那就在c盤搜索:npm,然後一層層找到以下路徑
\npm\node_modules\appium\node_modules\appium-android-driver
2.在\npm\node_modules\appium\node_modules\appium-android-driver\lib\android-helpers.js打開修改
修改如下幾個地方:
1.註釋掉358行 // await adb.install(unicodeIMEPath, false);
2.註釋掉570行 // await helpers.pushSettingsApp(adb);
3. 註釋掉581行 // await helpers.pushUnlock(adb);
3.繼續在\npm\node_modules\appium\node_modules\appium-android-driver\build\lib\android-helpers.js打開修改
修改如下幾個地方:
1.註釋掉782行,然後加一行代碼
// return _regeneratorRuntime.awrap(adb.install(_appiumAndroidIme.path, false));
return context$1$0.abrupt('return', defaultIME);
2.註釋掉1285行,然後加一行代碼
// return _regeneratorRuntime.awrap(helpers.pushSettingsApp(adb));
return context$1$0.abrupt('return', defaultIME);
3.註掉1321行,然後加一行代碼
// return _regeneratorRuntime.awrap(helpers.pushUnlock(adb));
return context$1$0.abrupt('return', defaultIME);
本篇主要是解決appium1.7以上版本,不同的版本號代碼行數會有一點點差異
Appium+python自動化55-appium desktop每次啟動安裝Unlock和Appium Setting問題