天天看點

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

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

     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環境已經配成功了。(如下圖)

<a target="_blank" href="http://blog.51cto.com/attachment/201208/115041490.jpg"></a>

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

<a target="_blank" href="http://blog.51cto.com/attachment/201208/115116806.jpg"></a>

<a target="_blank" href="http://blog.51cto.com/attachment/201208/115141709.jpg"></a>

     配置好後,就可以在cmd下通過monkeyrunner指令運作你寫的monkeyrunner Python測試檔案。

     比如:monkeyrunner e:\test.py.

     今天就先寫到這裡。不喜歡熬夜了,大家注意身體哈。

本文轉自 風泊海上 51CTO部落格,原文連結:http://blog.51cto.com/fengbohaishang/958900

繼續閱讀