uiautomator通過創建具有自動化測試功能的ui測試用例來有效率的測試ui,這種方式能運行在一個或多個設備上。
獲取更多用于測試的uiautomator 框架,請看https://stuff.mit.edu/afs/sipb/project/android/docs/tools/testing/testing_ui.html
要運行用例在指定的設備上,你可以使用adb shell命令
adb shell uiautomator runtest <jar
>? -c? <test_class_or_method> [options]
例子
adb shell uiautomator runtest? LaunchSettings.jar
-c? com.uia.example.my.LaunchSettings
以下介紹可選option
runtest
1 jar:一個或多個部署到指定設備上的jar文件名,它包含測試用例。通過使用空格分離列出更多jar文件
2 -c <test_class _or_method> :<test_class _or_method>是一系列專門的測試類或測試方法,這些類或方法來自用uiautomator運行的jar文件。
每個測試類或方法必須包含包的名字,
包名.類名
包名.類名#方法名
可使用空格分離多個類或方法
3 --nohup:即使父進程是終端也能完成在這個設備上的測試(比如這個設備沒有連接)
4 -e <name> <value> :指明已通過測試類的 name-vlaue 對,可能name-value重復
注意:必須每個選項都用-e 分離
5 -e debug [true|false]:開始前等待debugger連接
6 dump [files]:以xml文件的方式拋到hierachy viewer上,沒有專門設置的話,默認dump file存放在/storage/sdcard0/window_dump.xml
events
1 等到設備連接到終端,在控制臺上輸出所有可能事件。
uiautomator API
The uiautomator
API 綁定在uiautomator.jar
file ,這個文件在<android-sdk>/platforms/dreectory下。
原始英文文檔請看https://stuff.mit.edu/afs/sipb/project/android/docs/tools/help/uiautomator/index.html#api