Android自動化測試工具完全模擬用戶操作,模擬用戶可能的行為來測試Android應用程序。Android支持PC通過底層sockets連接與模擬器/手機間通訊,並且提供了大量調試命令,通過調用這些命令可以模擬用戶的大部分行為。
下面來解析Android自動化工具的七大功能是如何實現的。
1、啟動模擬器
emulator -no-boot-anim -avd 1.5.1
很簡單,一條語句就啟動了名為1.5.1的模擬器實例。-no-boot-anim這個參數使得開機時不顯示開機動畫,加快了啟動速度。
2、啟動應用程序
adb -s emulator-5554 shell
am start -n com.google.android.browser/com.google.android.browser.BrowserActivity
兩條語句組合使用,先進入Shell模式,再通過am命令調起具體的應用程序。
以包名/應用名的格式來聲明對用的應用程序。
3、單擊觸摸屏
通過下列一組命令來實現:
//選定一個X=40,Y=210的點
adb shell sendevent /dev/input/event0 3 0 40
adb shell sendevent /dev/input/event0 3 1 210
//在這個點按下觸摸屏
adb shell sendevent /dev/input/event0 1 330 1
adb shell sendevent /dev/input/event0 0 0 0
//在這個點松開觸摸屏
adb shell sendevent /dev/input/event0 1 330 0
adb shell sendevent /dev/input/event0 0 0 0
4、長按觸摸屏
與單擊模擬盤原理一樣,區別在於按下/松開觸摸屏命令之間暫停2秒鐘
5、鍵盤輸入
adb shell input keyevent “value”
鍵盤碼已在表1-2中提供
6、驗證測試結果
Android界面也由元素構成。Android SDK tools下的工具hierarchyviewer可以展現模擬器/手機當前界面上的Element的層次分布和自身屬性。
通過調用hierarchyviewer工具,獲取手機當前界面所有元素,再驗證對應的元素屬性(mID、mTest)是否存在於當前界面,以此來驗證界面是否跳轉成功、之前修改是否保存成功。
7、退出
Android未提供退出模擬器的方法。所以直接將模擬器進程殺死來完成退出模擬器的動作,以釋放PC中的資源。