Python+Appium自動化實踐之啟動App

一、安裝Android SDK

參考http://www.itdecent.cn/p/54a6799cedc3

二、安裝Appium

參考http://www.itdecent.cn/p/06b60b44bab7

三、安裝PyCharm

參考http://www.itdecent.cn/p/9a64970386de

四、實現(xiàn)步驟

1、獲取啟動信息

打開cmd,輸入指令aapt dump badging D:\test\xxx.apk,獲取package、launchable-Activity
adb devices獲取deviceName,手機系統(tǒng)查看platformVersion(安卓版本號)

2、在PyCharm中編寫腳本

 # coding=utf-8
import http
from appium import webdriver
desired_caps = {
                'platformName': 'Android',
                'deviceName': 'NWP0217C26',
                'platformVersion': '9',
                # apk包名
                'appPackage': 'com.taobao.taobao',
                # apk的launcherActivity
                'appActivity': 'com.taobao.tao.welcome.Welcome'
                }
webdriver.Remote('127.0.0.1:4723/wd/hub', desired_caps)

3、打開Appium并啟動

雙擊Appium快捷方式,打開后點擊右上角啟動按鈕

image.png

4、PyCharm運行腳本

問題處理

1、高版本打開SDK-manager一閃而過
處理辦法:http://tools.android-studio.org/index.php/sdk重新下載,將解壓后覆蓋原來tools文件夾

2、aapt不是內(nèi)部或外部命令
在build-tools\目錄下的任意文件夾下查找aapt,復(fù)制到platform-tools

3、首次啟動報錯Failure [INSTALL_FAILED_USER_RESTRICTED: Install canceled by user]
打開手機USB安裝開關(guān)

4、每次打開App都會安裝Appium settings和Unclock兩個apk
手動去修改appium安裝路徑下的android.js文件,將android.js的存放路徑:appium安裝路徑\Appium\node_modules\appium\lib\devices\android\android.js中兩行代碼注釋掉:
this.initUnicode.bind(this),
//this.pushSettingsApp.bind(this), #手動注釋此2行代碼,即可解決問題
//this.pushUnlock.bind(this),
function (cb) {this.uiautomator.start(cb);}.bind(this)

5、Appium執(zhí)行用例重復(fù)安裝 io.appium.uiautomator.server 和 io.appium.uiautomator.server.test
a、將Appium安裝目錄C:\Program Files\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-driver\lib\driver.js文件中
//await this.uiautomator2.installServerApk(this.opts.uiautomator2ServerInstallTimeout);代碼注釋
b、將appium安裝目錄C:\Program Files\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-driver\build\driver.js文件中//await this.uiautomator2.installServerApk(this.opts.uiautomator2ServerInstallTimeout);代碼注釋
c、重啟Appium

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容