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以上版本,不同的版本號代碼行數會有一點點差異

可能遇到的報錯

1.如果遇到這個報錯no such file or directory 'c:\node\stylus\package.json'。那就執行這2句

npm install -g express
npm init -y

詳情查看stackoverflowhttps://stackoverflow.com/questions/9484829/npm-cant-find-package-json

上海-悠悠 QQ交流群:330467341


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM