引言
隨著移動互聯(lián)網(wǎng)的發(fā)展,各家公司的app業(yè)務(wù)的趨于程序,工程項(xiàng)目功能也不斷擴(kuò)大,隨之而來的即是bug和缺陷的問題,而人工的黑盒測試,往往會有很多的遺漏,測試的代碼覆蓋率也很難保證,這是就需要引入自動化測試。這里使用Google的UiAutomator框架來做自動化。
測試工程的創(chuàng)建
- 環(huán)境是Eclipse,創(chuàng)建一個UiAutomatorTest的Java工程,同時找到Android SDK/platform/android-18/目錄下:android.jar、uiautomator.jar文件。通過Eclipse的build path將兩個jar包導(dǎo)入進(jìn)去。
- 創(chuàng)建一個類UiAutomatorTest.java,讓它繼承至UiAutomatorTestCase類。編寫一個簡單的測試用例:
public UiAutomatorTest extends UiAutomatorTestCase {
// 模擬一個點(diǎn)擊手機(jī)home鍵的操作
public void testPressHome() {
ressHome();
}
private void pressHome() {
UiDevice.getInstance().pressHome();
}
}
測試用例編寫好了,下面來做用例的編譯腳本的生成和編譯。
生成編譯腳本和執(zhí)行編譯
- 生成編譯腳本
將目錄切換到sdk\tools目錄下。 CMD中輸入命令:
android create uitest-project -n UiAuto -t 13 -p E:\Project\workspace\UiAutomatorTest
其中UiAuto是 測試用例Java工程編譯生成的jar包名字, -t后的 13是指安卓的平臺id,就是上面加入的android.jar的平臺版本我這里是android-18的,可以通過命令:android list target來找到android-18對應(yīng)的id是 13,-p 后面的是測試用例工程的目錄路徑。
- 編譯生成的腳步文件
利用Ant來編譯,將cmd切換到測試用例工程目錄下,執(zhí)行:ant build。提示“BUILD SUCCESSFUL”表示編譯成功,編譯好的UiAuto.jar文件存放在測試用例工程的bin目錄下:UiAutomatorTest\bin。
上傳生成的測試用例jar包到測試的手機(jī)上
通過命令: adb push bin\UiAuto.jar /data/local/tmp
/data/local/tmp這個文件夾是擁有臨時權(quán)限的。
執(zhí)行測試用例
通過命令:
adb shell uiautomator runtest UiAuto.jar -c com.my.uiautomator.test.UiAutimatorTest#testPressHome