Sikuli (http://sikuli.org),基於優秀的圖像對比庫opencv的測試工具,測試腳本使用Python編寫,非常強大。如果你的app沒有源碼,可以選擇它;或者你想做系統測試(跨app的測試),也可以選擇它。其它的還是用下面說的那些個吧
應用層的
先說說開源的吧:
- Robotium
- Monkeyrunner
- Robolectric
- CTS
另外基於web的測試也有基於Selenium Webdriver 的 Android WebDriver:
有兩種:
- 基於Remote Server的:官方提供了java接口的,但是Python版的官方里面卻沒有。我非常喜歡Python,所以自己實現了並且開源到了GitHub:https://github.com/truebit/AndroidWebDriver4Python 有問題大家可以提到上面
- 基於Instrumentation的:已經在Android SDK r14裏面可以安裝了
1. 基於Android Java Instrumentation框架:
- 基於Robotium,比如bitbar的產品:http://bitbar.com/products
- 基於Instrumentation,那就海了去了,很多公司自家寫的工具都基於這個;另外Robotium就是基於這個的
MonkeyRunner還是很有前景的,Google自己弄的。現在最新的dev版本已經有支持UI的id操作的EasyMonkey了。
分類的角度來回答
1)純白盒方式的測試,Monkey。樓上已經有哥們提到了,使用moneky更多的是開發team,而不是純粹的測試team,畢竟要求對android開發比較瞭解才用得了monkey。
2)偏白盒的robotium,這傢伙號稱是黑盒,但是本人不太認同~ 因爲使用robotium需要知道package
補充幾個介紹:
- sikuli,是MIT的幾個高材生搞的一套圖形化編程系統,可以用來測試任何圖形界面,配合工具screencast,即可方便的利用Sikuli來測試真實手機,語言用python語法,都是可視化的腳本。
- Monkey,用於app的穩定性測試。業界通用的哦,不會用的話不要說你是做android開發的。
- ASE,android script environment,是API的腳本實現,穩定性一般,環境配置稍複雜,不過,編