基于優秀的圖像對比庫opencv的測試工具,測試腳本使用Python編寫,非常強大。如果你的app沒有源碼,可以選擇它;或者你想做系統測試(跨app的測試),也可以選擇它。其它的還是用下面說的那些個吧。
我通過其核心包sikuli-script.jar實現了android的sikuli化,暫時不打算開源。其實原理挺簡單的,認真看過sikuli源碼的應該都能寫出來。
看lz的意思應該只是想問應用層的,我來說點應用層的
先說說開源的吧:
Robotium
Monkeyrunner
Robolectric
CTS
還有個新興的測試工具,以前在GitHub看到,現在找不到了,好像是BDD類型的語法;現在還不成熟。
另外基于web的測試也有基于Selenium Webdriver 的 Android WebDriver:
有兩種:
基于Remote Server的:官方提供了java接口的,但是Python版的官方里面卻沒有。我非常喜歡Python,所以自己實現了并且開源到了GitHub:https://github.com/truebit... 有問題大家可以提到上面
基于Instrumentation的:已經在Android SDK r14里面可以安裝了
不開源的就多了,不過我見過的一般是以下幾種思路:
1. 基于Android Java Instrumentation框架:
基于Robotium,比如bitbar的產品:http://bitbar.com/products
基于Instrumentation,那就海了去了,很多公司自家寫的工具都基于這個;另外Robotium就是基于這個的
2. 基于Android lib層的各種命令,比如sendevent,getevent, monkey, service這些,然后用各種語言封裝
MonkeyRunner還是很有前景的,Google自己弄的?,F在最新的dev版本已經有支持UI的id操作的EasyMonkey了??梢詆it clone git://android.kernel.org/platform...看看