【Android】【MonkeyDemons】針對性的進行穩定性測試

testly被佔用發表於2017-04-19

前言

目前大部分的Monkey測試的方式大都無法對獨立的模組進行穩定性測試,而每個業務線的入口在測試階段很難通過原生的Monkey測試(隨機性較強)來發現自己模組內crash的問題,針對這個問題,這個工具設計開發的初衷就是為了能夠縮小測試範圍,在測試階段指定業務模組內發現和暴露更多的穩定性相關的問題。

工具介紹:

Demons(守護程式)是自主研發的一套獨立於monkey測試之外的 手機內單個應用監聽守護的 jvm程式。

解決的問題:

整合到優酷之後我們需要對App內的單個業務模組進行穩定性測試。由於原生的Monkey傳送的是全域性的隨機事件,不支援對某幾個Activity進行定製測試,Demons的出現就為了解決了這個問題。

工具原理:

原理其實就是有一個後臺任務可用定時巡檢PC上所連的每個裝置當前執行在哪個頁面,如果發現裝置已經crash或者當前頁面不在我們指定的白名單頁面,那麼Demons會自動處理當前程式的資料並初始化回到主入口。

工具優勢:

Demons可以在每次越界之後隨機分配回到一個主入口 進行初始化。
Demons與Monkey執行模組是分離的,這樣可以防止相互影響。

Demons可以運用在原生的Monkey還是其他的修訂過的遍歷工具。

工具結構:

screenshot.png

執行流程:

screenshot.png

使用效果:

目前試用一個版本 10小時內 保持一直停留在指定頁面,丟擲來的指定模組的Crash次數佔總次數的30%左右,剩餘的crash大部分都是主客相關的crash

screenshot.png

上手使用:

下載工具地址:
http://yunpan.taobao.com/s/2kxUUA0xNQK (提取碼:Xqbqoj)

環境準備:

1,本地AndroidSdk環境必須要有
2,至少一臺裝置必須連線電腦(也可以用無線ADB)

執行方式:

1,將工具下載下來放到本地目錄下
2,配置工作目錄config.xml檔案
screenshot.png

3,執行monkey命令

4,然在工作目錄下執行 java -jar Demons.jar

FAQ:

檢視當前頁面Activity

adb shell dumpsys activity | findstr “mFocusedActivity”

驗證主入口是否有跳轉許可權

adb shell am start -n 包名/Activity名

主入口如果配的有問題會出現以下錯誤,原因是Activity 沒有呼叫許可權

screenshot.png


相關文章