古詩詞大全網 - 藝術簽名 - Android uiautomator自動測試如何登錄,方便查看測試結果。

Android uiautomator自動測試如何登錄,方便查看測試結果。

互相學習android自動化測試,請關註我的微博:weibo.com/ganchaojiang.

首先,由壹個BUG引起的問題

如果說R&D過程中存在BUG:“手機語言不斷切換時出現屏幕現象”。這個問題怎麽驗證?我認為最好的方法是自動測試。

那麽,自動化測試可以完成哪些任務呢?

簡單地說,那些重復的測試可以通過自動化來完成:

1,設置手機語言

2.添加、刪除和收集聯系人。

3.撥號並掛斷

4.甚至發短信,收短信。

如果妳需要以上功能,那就開始自動化之旅吧。

二、Android自動化測試簡介

Android自動化測試主要分為Monkeyrunner、Rubotium、UiAutomator、Monkey(在我看來這個不算)等等。主要特點:

1,Monkeyrunner:優點:操作最簡單,可以記錄測試腳本,可視化操作;缺點:主要生成坐標的自動運算,不可移植,功能最有限;

2.Rubotium:主要用於自動測試APK。APK可以有源代碼,也可以沒有源代碼,功能強大;缺點是操作針對APK,需要重簽(帶工具),操作相對復雜;

3.UiAutomator:優點:所有操作均可自動化,操作簡單;缺點:安卓版本需要高於4.0,不能按控件id操作。相對來說,功能有限,但也夠用;

4.猴子:準確的說,這不是自動化測試,因為它只能產生隨機事件,不能按照既定步驟進行;

從上面的介紹我們可以得出結論,要測試壹個APK,可以選擇Rubotium;測試過程可能涉及多個apk,所以選擇UiAutomator;壹些簡單的測試,選擇Monkeyrunner;

本文主要介紹UiAutomator的使用。

第三,環境建設

3.1,先決條件:

1、JDK

2.SDK(API高於15)

3.Eclipse(安裝ADT插件)

4.ANT(用於編譯和生成jar)

3.2、簡要步驟:

1.安裝JDK並添加環境變量。

安裝後,壹定要通過JAVA_HOME添加環境變量,即先建立JAVA_HOME變量,然後添加% JAVA _ HOME % \ bin

2.添加SDK環境變量。

壹定要先建立ANDROID_HOME,然後在路徑中添加% ANDROID _ HOME % \ tools

3.安裝Eclipse和ADT插件。

4.安裝ANT工具並添加環境變量。

另外,請確保首先建立%ANT_HOME%變量,然後將%ANT_HOME%\bin添加到路徑中。

四、詳細操作

4.1,編制項目

用Eclipse創建壹個新的Java項目。註意不是安卓項目!

4.2,添加JUnit庫

下壹個-& gt;庫-& gt;添加庫

4.3.添加Android庫

添加外部jar:

找到路徑Android-SDK \ platforms \ Android-17 \並添加以下android.jar和uiautomator.jar:

添加完所有庫後,應該是這樣的:

4.4.在src中添加包,然後添加類文件。

文件內容是:

[java]查看純文本

包com

導入com . Android . ui automator . core . ui object;

import com . Android . ui automator . core . uiobjectnotfoundexception;

導入com . Android . ui automator . core . ui scrollable;

導入com . Android . ui automator . core . ui selector;

導入com . Android . ui automator . test runner . uiautomatortestcase;

公共類Runner擴展UiAutomatorTestCase {

public void testDemo()引發UiObjectNotFoundException {

getUiDevice()。press home();

//進入設置菜單。

ui object setting app = new ui object(new ui selector()。text("設置"));

setting app . click();

//睡眠3秒鐘

嘗試{

thread . sleep(3000);

} catch(interrupted exception e 1){

// TODO自動生成的catch塊

e 1 . printstacktrace();

}

//輸入語言和輸入法設置

ui scroll able setting items = new ui scroll able(new ui selector()。可滾動(true));

ui object languaandinputitem = setting items . getchildbytext(

新UiSelector()。文本("語言& amp輸入")、"語言& amp輸入”,真);

languageandinputitem . clickandwaitfornewwindow();

}

}

上面的項目路徑在e:\workspace\AutoRunner,類的全名是com。Runner至於具體功能,我們現在已經不關心了。

4.5.找到SDK ID

CMD進入\Android-sdk\tools\目錄並運行命令:

android列表

查看android版本對應的SDK的ID值,目前為60;

4.6、創建壹個構建文件

仍然在\Android-sdk\tools\目錄中,運行命令:

Android create ui test-project-n & lt;名稱& gt-t & lt;Android-SDK-ID & gt;-p & lt;路徑& gt

例如:

Android create ui test-project-n AutoRunner-t60-p e:\ workspace \ AutoRunner

上面的名字是以後生成的jar包的名字,可以自己定義。android-sdk-ID就是上面看到的6;Path是Eclipse創建的新項目的路徑;運行該命令後,將在項目的根目錄中生成build.xml文件。如果沒有,檢查上述步驟。

4.7.編譯並生成jar

CMD進入項目的項目目錄,然後運行ant build,會使用ant編譯生成jar。如果成功,將會提示您:

然後jar文件將在bin目錄中生成。

4.8.推動並運行jar。

亞行推送<。Jar文件路徑>;數據/本地/tmp

adb shell uiautomator運行測試<。Jar文件名>-c & lt;項目中的類名,包括包名>;

例如:

ADB push e:\ workspace \ AutoRunner \ bin \ AutoRunner . jar data/local/tmp

ADB shell ui automator runtest autorunner . jar-c com。跑步者

然後妳可以看到手機會自動按照Runner中的步驟進行操作。具體效果是進入設置菜單,然後進入“語言和輸入法”菜單。

動詞 (verb的縮寫)代碼分析

先從幾個最重要的對象來介紹吧。

5.1,UiDevice對象

getUiDevice()的方法可以獲取UiDevice的壹個對象,通過它可以完成設備的壹些動作:

單擊(整數x,整數y)

-單擊由(x,y)指示的像素。

按Back()

按刪除()

按回車鍵()

按Home()

按菜單()

按搜索()

-單擊相應的按鈕。

喚醒()

-手機處於離屏狀態時,喚醒屏幕解鎖。

滑動(開始、開始、結束、結束、步驟)

-在手機上滑動,從(startX,startY)到(endX,endY)。步數表示滑動距離分幾步完成,數字越少,滑動範圍越大。

setOrientationLeft()

setOrientationRight()

-將手機轉向相應的方向。

setOrientationNatural()

-將手機的旋轉狀態恢復正常。

5.2.UiSelector對象

這個賓語可以理解為條件賓語,描述壹個條件。經常和UiObject壹起使用,獲取壹些(壹些)符合條件的控件對象。

選中(布爾型值)

-描述檢查狀態為val的關系。

類名(類名)

-描述壹個名為className的對象關系。

可點擊(布爾型值)

/g 19920917/文章/詳情/16131565