android appium微信等自動化的那些坑兒

納蘭寒明發表於2019-01-22

1.下載appium自動化安裝環境:

appium客戶端 python語言支援 android studio(包含android sdk和adb) java開發環境

2.微信x5核心除錯(網上有詳細配置)

開啟微信,在聊天中輸入debugx5.qq.com,點選進入x5除錯頁面, 點選資訊,開啟‘是否開啟TBS核心Inspector除錯功能’即可

3.id變化

微信中控制元件有的是持續變化的,在不同的手機上id可能不相同, 所以最好不使用id的形式抓去控制元件。(app原生介面可以採用android studio自帶的UiAutomator檢視)

4.切換webview和native介面

微信中你要隨時切換webview的context,在webview介面進行操作,需要切換到 微信‘WEBVIEW_com.tencent.mm:tools’,使用完成後,在切換回‘NATIVE_APP’,還要在程式中加入下列程式碼

desired_caps['chromeOptions'] = {'androidProcess': 'com.tencent.mm:tools'}  # 驅動H5自動化關鍵之一
複製程式碼

5.獲取webview控制元件

在微信中通常會切換到其webview介面,開啟第二步後,可以通過 chrome://inspect/#devices獲取webview的控制元件。

6.在切換context過程中會牽扯到appium中chromedriver,這是appium中最麻煩的地方,

經常會在這裡出錯。 (1)切換進微信webview頁面,操作完成後,進入第二個webview頁面,但是不能操作第二個頁面, 這是因為第一個chromedriver沒有正常關閉,有兩種該進方法: 1.在appium安裝目錄中搜尋android.hybrid.js,開啟後修改其程式碼為這樣

1.png
該段程式碼的作用原本是如果存在舊的chromedriver就會使用舊的,不會新建一個chromedriver。 修改後,程式碼就變成每次都會重新生成一個新的chromedriver程式。 2.在上述1步驟操作完成後,還是不成功,需要在切換到weview介面操作完成返回native介面時,手動殺掉chromedriver程式

os.system('taskkill /im chromedriver.exe')
複製程式碼

7.android 高版本appiu支援

高版本自動化需要appium 1.6.3及以上版本的支援,appium高版本並不是那麼好下載,在網上試了很多種那個方法都不行,最後這種成功了,分享下我的經驗:

npm config set registry http://registry.npm.taobao.org
npm install -g appium
複製程式碼

下載完成後需要修改程式:

desired_caps['platformVersion'] = '7.0'
# desired_caps['automationName'] = 'UIAutomator2'       網上說需要切換,但是我下載的是1.7.2版本,使用了反而用不了了。
複製程式碼

執行後出現\appium\node_modules\appium-uiautomator2-driver 的資料夾uiautomator2下面沒有 2個必要的安卓apk檔案: 在appium的安裝目錄下去安裝這兩個東西,命令如下:

npm install appium-uiautomator2-driver
複製程式碼

執行成功,需要注意的是5037埠不能被佔用。

8.appium執行超時時間設定

appium的執行超時時間是60s,60s無命令進入就會關閉程式,如果需要的等待時間超過60s,就要對appium進行設定,程式碼如下:

 #設定超時時間
        desired_caps['newCommandTimeout'] = '61'
複製程式碼

.有些app進行自動化的時候無法獲取webview的控制元件元素,使用chrome://inspect/#devices命令讀取不到其webview介面,列印contexts也只有一個NATIVE_APP,解決方法如下: 下載TBS studio,執行程式,手機切換到要讀取的app介面,點選除錯,啟動tbs除錯,就完成了

9.獲取手機輸入法

adb shell ime list -s

10.webview問題求助

在抓取webview的過程中,跳轉到一些webview深層次介面後,chrome顯示的介面是黑色,沒有控制元件顯示,只顯示框的大小,這個問題無法解決,求助

相關文章