Android測試教程(17):Monkey 命令列工具

來源:互聯網
上載者:User

寫完應用之後,作完單元測試和功能測試,有必要對應用的抗打擊能力做個測試,最好的方法是雇個“猴子”在測試,猴子 可以胡亂瞎按鍵,在這種情況下,你的應用是否還能正常工作呢?

Android 測試包中提供了一個Monkey工具,就提供了“猴 子”功能,不過比真”猴子“還要智能一些,你還可以指揮這個猴子, 比如按鍵的比例,觸發某個事件的頻率等等。

一 個簡單的用法,比如你的應用程式的包名為:com.pstreets.navigator

可以使用  adb shell monkey -p com.pstreets.navigator -v 500

使用預設的配置 嚮應用發送500 個隨機事件(包括按鍵,touch事件,系統事件等), 該命令會首先啟動對應的Activity,然後向該應用發送隨機事件:

Monkey工具的詳細說明如下:

它是一個命令列工具 ,可以運行在模擬器裡或實際裝置中。它向系統發送偽隨機的用 戶事件流,實現對正在開發的應用程式進行壓力測試。Monkey包括許多選項,它們大致分為四大類:

· 基本配置 選項 ,如設定嘗試的事件數目量。

運行約束選項,如設定只對單獨的一個包進行測試。

事件類型 和頻率。

調試選項。

在Monkey啟動並執行時候,它建置事件,並把它們發給系統。同時,Monkey還對待測系統進行監測,對下列三種情況進 行特殊處理:

如果限定了Monkey運行在一個或幾個特定的包上,那麼它會監測試圖轉到其它包的操作,並對其進行阻止。

如果應用程式崩潰或接收到任何失控異常 ,Monkey將停止並報錯。

如果應用程式產生了應用程式不響應(application not responding)的錯誤,Monkey將會停止並報錯。

按照選定的不同層級的反饋資訊,在Monkey中還可以看到其執行過程報告和生 成的事件。

Monkey基本用法

可以通過開發機器上的命令列或指令碼來啟動Monkey。由於Monkey運行在模擬器/裝置環境 中,所以必須用其環境中的shell來進行啟動。可以通過在每條命令前加上adb shell來達到目的,也可以進入Shell後直接輸入 Monkey命令。基本文法如下:

$ adb shell monkey [options]

如果不指定options,Monkey將以無反饋模式啟動,並把事 件任意發送到安裝 在目標環境中的全部包。下面是一個更為典型的命令列樣本,它啟動指定的應用程式,並向其發送500個偽隨 機事件:

$ adb shell monkey -p your.package.name -v 500

–v

命令列的每一個 -v 將增加反饋資訊的層級。 Level 0( 預設值 ) 除啟動提示、測試完成和最終結果之外,提供較少資訊。 Level 1 提供較為詳細的測試資訊,如逐個發送到 Activity 的事件。 Level 2 提供更加詳細的設定資訊,如測試中被選中的或未被選中的 Activity 。

事件

-s <seed>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.