Android APP壓力測試(一)
之Monkey工具介紹
前言
本文主要介紹Monkey工具。Monkey測試是Android平台自動化測試的一種手段,通過Monkey程序模擬用戶觸摸屏幕、滑動、按鍵等操作來對設備上的程序進行壓力測試,檢測程序多久的時間會發生異常。此文主要給自己查閱用。
[目錄]
1、Monkey簡介
2、Monkey參數說明
3、Monkey實例
4、Monkey測試結果分析
1、Monkey簡介
Monkey是Android中的一個命令行工具,可以運行在模擬器里或實際設備中。它向系統發送偽隨機的用戶事件流(如按鍵輸入、觸摸屏輸入、手勢輸入等),實現對APP進行壓力測試。Monkey測試是一種為了測試軟件的穩定性、健壯性的快速有效的方法。
2、Monkey參數說明
Monkey包括許多選項,大致分為四大類:
參考:https://developer.android.com/intl/zh-cn/tools/help/monkey.html
3、Monkey實例
1)、指定一個包:adb
shell monkey -p com.example.findyou 10
2)、指定多個包:adb
shell monkey -p com.example.findyou –p com.example.findyou1 -p com.example.findyou2 100
3)、Seed值:Monkey測試1:adb
shell monkey -p com.example.findyou –s 10 100
Monkey 測試2:adb
shell monkey -p com.example.findyou –s 10 100
指定了相同的Seed值,就可以保證兩次測試產生的隨機操作序列是完全相同的
4)、日志級別
Level 1 :adb
shell monkey -p com.example.findyou –v -v 100
說明 提供較為詳細的日志,包括每個發送到Activity的事件信息
Level 2 :adb
shell monkey -p com.example.findyou –v -v –v 100
說明 最詳細的日志,包括了測試中選中/未選中的Activity信息
4、Monkey測試結果分析
Monkey測試的og分析,我們可以通過幾個關鍵詞來判斷測試是否通過。
1)Monkey finished
打開LOG,查看log的最下端,是否有類似以下字段:
## Network stats: elapsed
time=5123ms (5123ms mobile, 0ms wifi, 0ms
not connected)
// Monkey finished
這個字段表明本次的Monkey沒有異常,測試通過。
2)CRASH
同樣,在得到LOG后,搜索”CRASH”字段,如果搜索到有結果,則表明有進程出現問題,測試不通過。
// CRASH: com.onekchi.downloadmanager (pid 12919)
3)ANR
在Log中搜素該字段,如果有搜索有結果,則表示測試過程中,測試對象出現了無響應的現象,因此測試不通過。
--throttle <毫秒>值建議為500
4)無法搜索到上述信息
出現這種情況,一般都是外界原因而非程序本身原因。比如電腦異常測試中斷,需要重新測試。