1. 程式人生 > >android appium微信等自動化的那些坑兒

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

ask 聯系 x5內核 有一個 appium 被占用 第一個 功能 nsh

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

9.webview問題求助

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



作者:納蘭寒明
鏈接:https://www.jianshu.com/p/95bf34d9c9b4
來源:簡書
簡書著作權歸作者所有,任何形式的轉載都請聯系作者獲得授權並註明出處。

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