前段時間重新研究了下appium的移動端測試簡單寫個總結(jié)
appium 安裝
配置java菲饼、android開發(fā)環(huán)境...
安裝nodejs
安裝appium
cnpm install -g appium(如果沒有cnpm可以通過npm install cnpm -g -registry=https://registry.npm.taobao.org安裝)
獲取H5頁面元素
1.想要測試h5的頁面琳要,apk首先得開啟webview debug模式
2.谷歌瀏覽器輸入chrome://inspect/#devices如果設(shè)備連接正常會有inspect按鈕奇钞,點擊進(jìn)入即可看到在瀏覽器中看到手機(jī)上面的h5頁面(如果顯示空白頁面需要科學(xué)上網(wǎng))
遇到的問題及解決方式
1.對H5頁面進(jìn)行測試時锌蓄,第一次點擊h5頁面有效,第二次再進(jìn)入H5頁面進(jìn)行點擊操作出現(xiàn)無響應(yīng)的情況轻猖。
解決方法: 配置appium服務(wù)啟動參數(shù)時加入'recreateChromeDriverSessions': True
2.使用uiautomator2多個手機(jī)并行運(yùn)行測試時出現(xiàn)只有一個手機(jī)在運(yùn)行測試,別的手機(jī)并沒有運(yùn)行測試
解決方法:配置appium服務(wù)啟動參數(shù)時指定systemPort: xxxx域那,uiautomator2會使用8200端口做一個adb命令轉(zhuǎn)發(fā)咙边,多個手機(jī)并行執(zhí)行是需要給每個測試任務(wù)指定不同的轉(zhuǎn)發(fā)端口
3.appium之settings、unicode、unlock的app每次都要確認(rèn)安裝
解決方法:參考http://ask.testfan.cn/article/919败许,修改對應(yīng)文件
4.不同的手機(jī)因為Android system webview的版本不同需要的chromedriver的版本不同
解決方法:依據(jù)adb shell dumpsys package com.google.android.webview得到webview的版本號王带,根據(jù)版本號選擇對應(yīng)的chromedriver版本,配置appium服務(wù)啟動參數(shù)時加入chromedriverExecutable:chromedriver路徑市殷, 去選擇對應(yīng)的chromedriver版本
adb 無線調(diào)試
由于這兩天需要做app的一個耗電量測試連接usb去用腳本運(yùn)行app的話會進(jìn)行充電愕撰,于是選用adb的無線調(diào)試去丟掉usb線,進(jìn)行測試
執(zhí)行方式:
1.用usb連接設(shè)備和電腦被丧,確認(rèn)adb devices 命令可以看到設(shè)備正常連接
2.dos命令行執(zhí)行adb tcpip 5555設(shè)置tcpip的連接端口為5555
3.dos命令行執(zhí)行adb shell ifconfig 或者 adb shell netcfg 去查看設(shè)備的ip
4.拔掉usb線盟戏,dos命令行執(zhí)行adb cennect ip绪妹,此時便會出現(xiàn)已連接的提示甥桂,執(zhí)行adb devices可以看到當(dāng)前連接的設(shè)備