Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android uiautomator實例使用

Android uiautomator實例使用

編輯:關於Android編程

Android測試工具中,Monkey Runner只要簡單幾個指令即可,但他的局限性在於都是基於像素位置操作,不具備移植性

而采用uiautomator編寫的自動化測試工具則可以實現基於UiSelector選擇直接操作uiObject來編寫基於屬性操作具備移植性的測試

注:

android官方給出的版本條件如下,若低於這些版本請先下載新版本

Android SDK Tools, Revision 21 or higher
Android SDK Platform, API 16 or higher


1. 首先我們先了解一下屬性操作,並用uiautomatorviewer來分析一下應用UI組件。

工具路徑:/tools/.

左邊為當前截屏,移動到上面有個紅色的懸浮框表示當前選中節點,當前選中的會在右上角藍色高亮,右下角顯示即是此view的屬性。

至於這些有什麼作用,稍後我們再看(請注意content-desc屬性,我們稍後會用)。


2. 打開eclipse,新建立一個Java Project,我這裡建立的是MessageTestCase

2.1 之後右鍵項目Property->Java Build Path->Libraries->Add Library->JUnit->JUnit3->Finish

2.2 回到Property界面後還是選擇Libraries->Add External JARs->選擇Android SDK路徑\platforms\android-**->選中Android.java和uiautomator.jar

2.3 之後點擊ok,關閉Property窗口


3. 之後我們編輯code完成操作,主要操作是進入短信界面,編輯一條hello world

//所有UI自動測試都要繼承UiAutomatorTestCase
public class MessageTestCase extends UiAutomatorTestCase {
	public void testDemo() throws UiObjectNotFoundException{
		//獲取UiDevice對象
		UiDevice device = getUiDevice();
		
		//點擊home鍵操作
		device.pressHome();
		
		//如截圖中提到的,我們使用content-desc屬性Apps選擇所有應用列表
		UiObject appsTab = new UiObject(new UiSelector().description("Apps"));
		appsTab.click();
		
		//因為短信界面在第二個列表頁面,所以我們可以先滑動一下
		//通過scrollable屬性來選定滑動view
		UiScrollable appViews = new UiScrollable(new UiSelector().scrollable(true));
		appViews.setAsHorizontalList();
		appViews.scrollForward();
		
		//通過類名和Text找到短信應用圖標,Text獲取通過uiautomatorviewer
		UiObject messageApp = appViews.getChildByText(new UiSelector().className(android.widget.TextView.class.getName()), "Messaging");
		//點擊並等待打開短信應用
		messageApp.clickAndWaitForNewWindow();
		
		//選擇新建短信
		UiObject newMessage = new UiObject(new UiSelector().description("New message"));
		newMessage.click();
		
		//選擇編輯信息
		UiObject editMessage = new UiObject(new UiSelector().text("Type text message"));
		editMessage.click();
		editMessage.setText("hello world!");
	}
}



4. 然後編譯和發布uiautomator測試

4.1 進入sdk tools目錄使用如下命令:

android.bat create uitest-project -n MessageTestCase -t 1 -p "C:\Documents and Settings\***\workspace\MessageTestCase"

其中MessageTestCase是工程名,第二個路徑是工程所在路徑

然後會在工程所在路徑生成一個build.xml文件

4.2 使用如下命令設置Android Home

set ANDROID_HOME=

4.3 然後需要下載ant,並設置ant為環境變量(也可以不設置,不過使用這個命令前加上路徑)

首先切換路徑到工程所在目錄,然後使用如下命令編譯

apache-ant-1.9.3\bin\ant build

之後在工程的bin目錄下回生成.jar文件

4.4 push jar文件到一個目錄,如

adb push /data/local/tmp

4.5 運行測試

adb shell uiautomator runtest MessageTestCase.jar -c com.wjh.test.MessageTestCase

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved