編輯: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
之前曾經在網上看到Android仿QQ空間底部菜單的Demo,發現這個Demo有很多Bug,布局用了很多神秘數字。於是研究了一下QQ空間底部菜單的實現,自己寫了一
TableLayout經常用到的屬性有: android:collapseColumns:以第0行為序,隱藏指定的列: android:collapseColum
多開發者不知道ListView列表控件的快速滾動滑塊是如何啟用的,這裡Android開發網告訴大家,輔助滾動滑塊只需要一行代碼就可以搞定,如果你使用XML布局
Android應用程序可以在許多不同地區的許多設備上運行。為了使應用程序更具交互性,應用程序應該處理以適合應用程序將要使用的語言環境方面的文字,數字,文件等。在本章中,我