本文章轉載于搜狗測試
在開始自動化測試的時候,我們可能需要一些工具支持。對于Android平臺,官方在開發(fā)者工具Adt中已經集成了幾種可以用于自動化測試的工具。如果使用這些工具,你可以不用為了開始自己的自動化測試而去額外下載安裝其它的工具(當然為了Adt的正常使用,Java環(huán)境還是必須的)。這個系列的文章將會分別對這些工具做出一些簡單的介紹。
Adt中集成的可以用于自動化測試的工具包括:
Monkey
MonkeyRunner
UIAutomator(僅限Android 4.0以上系統(tǒng))
Monkey最常見的使用場景就是進行完全隨機的測試,單獨使用Monkey,你無法按照一個既定的步驟來進行操作。
Monkey在使用時需要通過USB將設備與PC相連,在PC端使用Adb shell命令調用設備端的Monkey程序,設備端的Monkey程序自己生成隨機的操作序列來執(zhí)行。
MonkeyRunner同樣通過USB與運行于設備端的Monkey程序通信,但MonkeyRunner直接發(fā)送指定的操作指令,這些操作指令也支持編寫成腳本,統(tǒng)一運行,
因此MonkeyRunner可以完成一些功能測試和回歸測試。
UIAutomator可以完成一些更為復雜的功能測試和回歸測試,該工具使用Java直接編寫測試apk安裝到設備上運行,我們將在以后的文章中詳細介紹UIAutomator。
除此之外,Adt中還有用于白盒測試的Instrument,實際上也可以用于自動化測試,一些第三方的自動化測試工具使用的就是Instrument,比如Rubotium和Calabash
Monkey的用法實例
Monkey是一種對應用的穩(wěn)定性、健壯性進行測試的一種快速有效的工具,這種測試實際上是一種簡單粗暴的壓力測試。
它的基本功能就是向被測試的應用發(fā)送隨機的用戶事件(如屏幕的點擊、拖動和系統(tǒng)按鍵操作等)。
在Windows命令行中輸入命令adb shell monkey + 一個數(shù)字就可以開始monkey測試,這個輸入的數(shù)字是最多要執(zhí)行的動作的數(shù)量。
實際使用時可以利用參數(shù)-p限制操作生效的應用,在應用外進行的各種操作將不會生效,這就避免了測試時的一些誤操作。比如:
adb shell monkey -p sogou.mobile.explorer 60000
默認情況下Monkey在運行時如果遇到被測應用的崩潰將會自動停止,而崩潰信息也能被Monkey收集并打印到命令行中,如果你想用借助Monkey來發(fā)現(xiàn)被測影響的崩潰問題。
你可能需要將Monkey的運行結果保存到文件中
adb shell monkey -p sogou.mobile.explorer -v 60000 > 1.txt
通過下面這段批處理命令,可以讓Monkey一直不停的運行下去,并把收集到的崩潰信息盡可能的保存到不同的文件中:
Monkey并不能直接定義每一步操作究竟是什么,但是可以通過運行時的參數(shù)配置每一種類型操作的百分比。
使用Monkey可能會發(fā)現(xiàn)一些經過特定的操作所產生的應用崩潰問題,但是這種盲目的隨機測試效率是很低的。
我們還是希望能夠自己定義想要進行的自動化操作,這種情況可以借助MonkeyRunner。
這個系列的下一篇文章將會介紹MonkeyRunner的功能和使用方法。