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

來源:互聯網
上載者:User

 這裡只是記錄分享一下自己的學習心得,希望給一些新手有所啟發,少一點摸索的時間,如有不準確之處,歡迎指出,不勝感激。
     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檔案, 一個最新的aster 的壓縮包。這個是android系統測試需要用得到運行時環境包,解壓這個壓縮包,可以在以下路徑中找到aster\dist\jar\chimpchat.jar ,然後,把chimpchat.jar複製到你的android sdk 中tools目錄下的bin目錄中,然後再運行monkeyrunner命令即可。

     配置好後,就可以在cmd下通過monkeyrunner命令運行你寫的monkeyrunner Python測試檔案。
     比如:monkeyrunner e:\test.py.
     今天就先寫到這裡。不喜歡熬夜了,大家注意身體哈。

作者:風泊海上

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.