android分佈式測試工具。html
android衆多的版本和機型給android app測試工做帶來不小的挑戰。Spoon經過將case分佈式地執行、將執行結果更友好地展現出來,從而簡化android app的測試工做。java
Spoon沒有開發新的測試框架,而是讓已經存在的測試框架更有效。如今的測試框架,通常都是經過測試apk來驅動被測apk,Spoon能夠讓這些case在多臺設備上同時運行。一旦測試結束,Spoon就是生成一份html報表,來展現每臺設備上的執行結果。android
Spoon會檢測到adb devices
命令中顯示的所有設備,並在這些設備上執行case。因此咱們在使用spoon時,能夠插入不一樣的手機、平板、或者不一樣配置的模擬器。app
插入的設備越多、越雜,那麼最終的測試結果展現的信息就越多。框架
除了單純地跑case,Spoon還能夠在case執行中,進行截圖,並在結果中進行展現。在最後的結果中,咱們能夠看到不一樣設備跑一個case時的截圖,來測試app的兼容性。maven
使用Spoon的截圖功能,必須在被測app中引入spoon-client
jar包,在咱們的測試代碼中調用screenshot
方法進行截圖,這些截圖會被打上標籤。分佈式
Spoon.screenshot(activity, "initial_state"); //這裏編寫登錄代碼 Spoon.screenshot(activity, "after_login");
代碼裏指定的tag用來命名截圖,以便在測試兼容性的時候進行不一樣設備間的橫向比較。
咱們也能夠連貫地瀏覽每臺設備上的截圖,來查看運行過程。工具
下載最新的runner jar包或者最新的client jar包,或者經過maven來獲取:測試
<dependency> <groupId>com.squareup.spoon</groupId> <artifactId>spoon-client</artifactId> <version>(insert latest version)</version> </dependency>
Spoon既能夠單獨運行,又能夠集成到maven裏,做爲maven命令的一部分來執行。spa
單獨運行,須要被測apk包和測試apk包,執行下面的命令便可:
java -jar spoon-runner-1.0.0-jar-with-dependencies.jar \ --apk example-app.apk \ --test-apk example-tests.apk
執行結果,默認會放在當前目錄的spoon-output文件夾下。固然還有一些其餘的參數,具體以下: