java
node
通常狀況下,都會送上如下親切的關懷:python
1)adb能識別到設備嗎?android
2)設備有被其它的程序在佔用嗎?git
3)ADT的版本正確嗎?github
當朋友們對以上關懷都確認以後,反饋仍然會遇到這樣的報錯。瀏覽器
那麼爲了避免影響學習的熱情,會提供如下三種定位工具,總有一款可讓你順利的定位到元素哦!!app
一、經過 adb devices命令可以識別到至少一個android設備; 框架
二、設備當前沒有被任何其它的應用程序所佔用; 工具
文章最開始的報錯截圖,就是來自於這個工具啦。
android 4.2以上的版本,自帶的自動化測試框架是uiAutomator。
uiAutomatorViewer就是它的元素定位工具了。
若是要用UiAutomator來作自動化測試,就須要掌握java語言了。
uiAutomatorViewer是安卓調試工具(ADT)中的一部分。因此只須要安裝ADT就能夠了(不須要安裝SDK哦)。
1) 安裝Android Studio
2)在Android Studio的啓動頁面當中,選擇右下角的Configure -> SDK Manager
會彈出下圖:選擇Android SDK -> SDK Tools ,按圖中勾選,點擊OK進入安裝,安裝完成便可關閉Android Studio。 記住圖中Android SDK Location對應
一、找到ADT安裝目錄,在其tools/bin目錄下,找到uiAutomatorViewer程序,雙擊打開。
例如:ADT的目錄爲:/Users/liyuan/Library/Android/sdk
(Ps: 親測目前不支持jdk1.8以上的版本。因此爲了啓動成功,要安裝jdk1.8的版本。
mac下若安裝了jdk11和jdk1.8,須要編輯uiautomatorviewer文件,找到javaCmd="java",
修改成 javaCmd="/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/bin/java"
/Library/Java/JavaVirtualMachines/jdk1.8.0_231.jdk/Contents/Home/bin/java爲jdk1.8版本對應的java.)
2)定位元素。
appium是目前最流行的開源的app功能測試框架。
同時支持IOS和Android的自動化測試,也支持多語言(python/java/C#......)
只要安裝appium,那麼appium inspector也就有了。
appium desktop下載地址:http://appium.io/
(Ps:須要先安裝nodejs,再安裝appium程序哦。)
1) 啓動appium desktop以後,點擊右上角的第一個按鈕
2)在打開以下界面當中,按圖中所示,填寫信息:
3)會根據啓動參數,去打開對應的app,而後會截取app當中的頁面。
python語言實現的一個app自動化測試框架。
安裝uiAutomator2:pip install -U uiautomator2
安裝定位工具weditor: pip install -U weditor
安裝完成以後:命令行運行:weditor --help確認是否安裝成功。
1) 命令行輸入:weditor 會自動打開在瀏覽器當中打開一個2) 所示的頁面。
2)選擇Android,輸入設備序列號,點擊connect。點擊Dump Hierarchy,就能夠看到元素的信息了。
github地址:https://github.com/openatx/uiautomator2
檸檬班-論壇文章地址:http://www.lemfix.com/topics/346
以上3種定位告訴你: 任何一個app自動化測試的框架,都會給你提供一個對應的定位工具哦!
android自帶的UiAutomator測試框架,提供 uiAutomatorViewer。
appium測試框架,提供appium inspector.
python實現的uiAutomator2測試框架,提供weditor
在app自動化測試的過程當中,可使用任意一種或多種來幫你進行元素定位。