前言
本章內容為開發者指南(Dev Guide)/Developing/Tools/monkeyrunner,版本為Android2.3 r1,翻譯轉載並整理自譯言:”biAji”,原文地址:”http://article.yeeyan.org/view/37503/164523“,再次感謝”bjAji” !期待你一起參與翻譯Android的相關資料,聯系我over140@gmail.com。
原文
http://developer.android.com/guide/developing/tools/monkeyrunner_concepts.html
正文
monkeyrunner工具提供瞭一個API,使用此API寫出的程序可以在Android代碼之外控制Android設備和模擬器。通過monkeyrunner,您可以寫出一個Python程序去安裝一個Android應用程序或測試包,運行它,向它發送模擬擊鍵,截取它的用戶界面圖片,並將截圖存儲於工作站上。monkeyrunner工具的主要設計目的是用於測試功能/框架水平上的應用程序和設備,或用於運行單元測試套件,但您當然也可以將其用於其它目的。
monkeyrunner工具與(UI/Application Exerciser Monkey)用戶界面/應用程序測試工具,也稱為monkey工具並無關聯。monkey
工具直接運行在設備或模擬器的adb
shell中,生成用戶或系統的偽隨機事件流。而monkeyrunner工具則是在工作站上通過API定義的特定命令和事件控制設備或模擬器。
monkeyrunner工具為Android測試提供瞭以下特性:
* 多設備控制:monkeyrunner API可以跨多個設備或模擬器實施測試套件。您可以在同一時間接上所有的設備或一次啟動全部模擬器(或統統一起),依據程序依次連接到每一個,然後運行一個或多個測試。您也可以用程序啟動一個配置好的模擬器,運行一個或多個測試,然後關閉模擬器。
* 功能測試: monkeyrunner可以為一個應用自動貫徹一次功能測試。您提供按鍵或觸摸事件的輸入數值,然後觀察輸出結果的截屏。
* 回歸測試:monkeyrunner可以運行某個應用,並將其結果截屏與既定已知正確的結果截屏相比較,以此測試應用的穩定性。
* 可擴展的自動化:由於monkeyrunner是一個API工具包,您可以基於Python模塊和程序開發一整套系統,以此來控制Android設備。除瞭使用monkeyrunner API之外,您還可以使用標準的Python os
和subprocess
模塊來調用如Android Debug Bridge這樣的Android工具 。