Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> android 自動化測試之MonkeyRunner學習(一)

android 自動化測試之MonkeyRunner學習(一)

編輯:Android開發實例

    這裡只是記錄分享一下自己的學習心得,希望給一些新手有所啟發,少一點摸索的時間,如有不准確之處,歡迎指出,不勝感激。

     android的sdk中集成了三個比較簡單的可用來進行自動化測試的工具:Monkey、MonkeyRunner和Robotium。這三個測試工具都是基於黑盒測試。Monkey相對而言比較簡單,只是在cmd下寫幾行指令對要測試的程序進行簡單的壓力測試。Robotium測試工具總共只有一個Solo類,裡面提供了許多可以用來操作測試設備的方法。MonkeyRunner相對而言,是三個工具中功能最強大的。

MonkeyRunner測試工具主要是編寫一個Python程序去安裝一個android程序或者測試包,通過模擬一些對程序點擊操作的過程,來測試一個程序的穩定性及通過截屏可以方便的記錄出現的問題。

Monkeyrunner工具是使用Jython(使用Java編程語言的一種Python實現)寫出來的。Jython允許MonkeyrunnerAPI與Android框架輕松的進行交互。至於什麼是Python,大家可以百度一下,是一門很強大的面向對象的編程語言,可以跨平台運行。當然,我們使用MonkeyRunner測試工具,不必要一定先去學習Python語言,我們恐怕在實際工作中也沒有那麼多時間,我們只需要了解一些常用的Python編程規范即可。(這些會在後面結合代碼給出)。

 現在主要講一下怎麼配置一下一個Monkeyrunner的工作環境。

 如果只是簡單使用MonkeyRunner測試工具的話,就沒有必要像網上說的,下載一個Python版本安裝程序進行安裝,或者在eclipose裡面集成一個python的插件,用來調試Python程序,在eclipse裡面集成插件遠沒有直接使用記事本或者Notepad等編輯工具好用,因為Monkeyrunner總共就只有三個類(MonkeyRunner,MonkeyDevice,MonkeyImage),也沒有那麼多方法,讓你有在eclipse裡寫程序時自動提示什麼的優勢,而有時插件和eclipse版本之間又會出現一些讓你頭疼的問題。所以,只要一個記事本足矣。

     言歸正傳,既然是android測試,你肯定是配過android的開發環境了(不會配的可以百度)。android開發免不了要用到android sdk tools下的一些開發工具,你可以在系統環境變量裡面配置一個ANDROID_HOME變量,把你的android SDK 安裝路徑加進去。比如我的路徑是:G:\android03\android-sdk-windows。如果你已經配過了ANDROID_HOME變量,你現在只需要在你的系統變量的PATH變量中,把這句話加進去:%ANDROID_HOME%/tools;其實也就是相當於你把指向到android sdk tools的路徑加到PATH變量中。

     添加好之後,你可以直接在cmd下運行:monkeyrunner 命令,回車。如果出現monkeyrunner的版本信息,就證明你monkeyrunner環境已經配成功了。(如下圖)

 

有時,你配好之後,會出現NOCLASSDefFound的錯誤.如下圖:

    這個是由於你的sdk中缺少了一個ChimpChat.jar文件,大家可以去http://code.google.com/p/aster/downloads/list下載一個最新的aster 的壓縮包。這個是android系統測試需要用得到運行時環境包,解壓這個壓縮包,可以在以下路徑中找到aster\dist\jar\chimpchat.jar ,然後,把chimpchat.jar復制到你的android sdk 中tools目錄下的bin目錄中,然後再運行monkeyrunner命令即可。

     配置好後,就可以在cmd下通過monkeyrunner命令運行你寫的monkeyrunner Python測試文件。

     比如:monkeyrunner e:\test.py.

 

出處http://fengbohaishang.blog.51cto.com/5106297/958900

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved