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