app自動化 - 元素定位不到?別慌 - 三大工具幫你搞定


在日常的android app自動化測試工作當中,很多朋友在元素定位時,會遇到以下類似的報錯:

 

 

 

然后會來問,這是啥情況?

一般情況下,都會送上以下親切的關懷:

1)adb能識別到設備嗎?

2)設備有被其它的程序在占用嗎?

3)ADT的版本正確嗎?

當朋友們對以上關懷都確認之后,反饋仍然會遇到這樣的報錯。

那么為了不影響學習的熱情,會提供以下三種定位工具,總有一款可以讓你順利的定位到元素哦!!

 

每一種工具定位的前提:

1、通過 adb devices命令能夠識別到至少一個android設備;

2、設備當前沒有被任何其它的應用程序所占用;

 

第一種:android ADT自帶工具:uiAutormatorViewer

文章最開始的報錯截圖,就是來自於這個工具啦。

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對應

 

 

 

 

 

使用:

1、找到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的appium inspector

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版uiAutomator2中的weditor

python語言實現的一個app自動化測試框架。

安裝:

安裝uiAutomator2:pip install -U uiautomator2

初始化命令(往手機上推送apk包):python -m uiautomator2 init

安裝定位工具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自動化測試的過程中,可以使用任意一種或多種來幫你進行元素定位。

 

 

轉載自:https://www.cnblogs.com/Simple-Small


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM