一、準備jar包
在sdk的platforms子目錄下找到對應android系統版本的sdk,我這裏模擬器中啓動的是android4.4.2,所以我選擇的是android-19,取得該目錄下的兩個jar包
1、android.jar
2、uiautomator.jar
二、創建java project
打開eclipse,新建java project,把上一步中取得的jar包添加到依賴。
新建一個package(例:com.xyh),創建一個java類(繼承UiAutomatorTestCase),創建一個以test爲前綴的測試方法,例:
package com.xyh;
import com.android.uiautomator.core.UiDevice;
import com.android.uiautomator.core.UiObject;
import com.android.uiautomator.core.UiObjectNotFoundException;
import com.android.uiautomator.core.UiSelector;
import com.android.uiautomator.testrunner.UiAutomatorTestCase;
public class TestUIAutomation extends UiAutomatorTestCase {
public void testBrowser() throws UiObjectNotFoundException{
}
}
打開genymotion,啓動android模擬器:
打開cmd,執行uiautomatorviewer.bat(該腳本位於sdk目錄的tools子目錄下,需要加入環境變量,或者cd到該目錄執行),打開成功後會出現該界面:
點擊上圖中小圖標,會出現模擬器中的android系統界面:
我們這裏以打開瀏覽器,進去www.qq.com網站的一個自動化腳本爲例,so,在uiautomatorviewer中點擊瀏覽器圖標,然後我們可以在node detail中看到該控件結點的詳細信息,記下text信息,後面腳本代碼中會用到:
然後在模擬器中打開瀏覽器,再回到uiautomatorviewer中點擊瀏覽器的地址輸入框,可以在node detail中看到該控件結點的詳細信息,記下class信息,後面腳本代碼中會用到:
準備工作都做好了,現在我們來編寫我們的測試腳本:
package com.xyh;
import com.android.uiautomator.core.UiDevice;
import com.android.uiautomator.core.UiObject;
import com.android.uiautomator.core.UiObjectNotFoundException;
import com.android.uiautomator.core.UiSelector;
import com.android.uiautomator.testrunner.UiAutomatorTestCase;
public class TestUIAutomation extends UiAutomatorTestCase {
public void testBrowser() throws UiObjectNotFoundException{
UiObject browserObject = new UiObject(new UiSelector().text("瀏覽器"));
browserObject.clickAndWaitForNewWindow();
UiObject editObject = new UiObject(new UiSelector().className("android.widget.EditText"));
editObject.click();
UiDevice.getInstance().pressDelete();
editObject.setText("www.qq.com");
UiDevice.getInstance().pressEnter();
sleep(2000);
}
}
三、生成build.xml
打開cmd命令行,cd到java project(該腳本工程所在)目錄,執行:
android create uitest-project -n demo -t 1 -p E:\android—_project\Demo
-n:生成的jar名字
-t:使用的target id(可以執行adb list targets查看)
-p:java project目錄
執行成功後會輸出:Added file E:\android—_project\Demo\build.xml,在我們的java project目錄下會多出一個build.xml文件。
四、生成jar
切換回eclipse中,在java project中找到並打開build.xml,修改頭部project標籤的default屬性爲build,點擊run,選擇ant build,直至console輸出BUILD SUCCESSFUL並在工程bin目錄底下生成demo.jar文件。
五、拷貝到android手機並執行
1、拷貝demo.jar到手機/data/local/tmp/目錄:
adb push demo.jar /data/local/tmp/
2、執行自動化腳本
adb shell uiautomator runtest demo.jar -c com.xyh.TestUIAutomation
這時候我們就會看到手機自動打開瀏覽器並且進入QQ官網首頁。