1. 程式人生 > >Appium+python自動化55-appium desktop每次啟動安裝Unlock和Appium Setting問題

Appium+python自動化55-appium desktop每次啟動安裝Unlock和Appium Setting問題

python自動化 wait mage 技術分享 pytho source android shu app

前言

部分真機可能會出現每次運行代碼,啟動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問題