Skip to content

Latest commit

 

History

History
59 lines (46 loc) · 2.74 KB

espresso_+_spoon.md

File metadata and controls

59 lines (46 loc) · 2.74 KB

Espresso + Spoon

EspressoGoogle 開發的 Auto Testing 套件,其用途是可以讓我們自動化的跑定義好的 Use CaseSpoon則是 Square 開發的 Testing 輔助套件,除了可以幫助我們在跑 Auto Testing 的時候截圖,還可以產生 html 的report文件,方便我們檢視,另外 Spoon 也支援一次跑在多個 Device

使用 Espresso

阿旺已經為我們寫好了介紹。請直接跳轉喔:

##使用 Spoon

  • import spoon-client。可以從官網下載 spoon-client.jar,或是使用 MAVEN
<dependency>
  <groupId>com.squareup.spoon</groupId>
  <artifactId>spoon-client</artifactId>
  <version>1.2.1</version>
</dependency>
  • 配合Espresso 的使用。在 Test Class 中,在想截圖的地方,呼叫 Spoon.screenshot()
@RunWith(AndroidJUnit4.class) // run test runner,並使用 JUnit 4
public class UseCaseTest {
    ...
    @Test
    public void start() throws Exception {
        onView(withId(R.id.fragment_text_edit))
            .perform(typeText(message), closeSoftKeyboard());
        
        Spoon.screenshot(activity, "fill EditText");
        
        onView(withId(R.id.activity_quiz_button_next))
            .perform(click());
        
        Spoon.screenshot(mActivityRule.getActivity(), "click next");
    }
    ...
}
  • Build Project,產生 app.apk & app-androidTest.apk
  • 官網下載 spoon-runner.jar 檔,並且利用command line執行
 java -jar spoon-runner.jar --apk <path_to_apk>/app-debug.apk --test-apk <path_to_test_apk>/app-androidTest.apk --sdk <path_to_android_sdk>
  • 執行成功,就會產生 spoon-output folder,裏頭有所有 Print Screet 的結果,index.html( report 網站),以及其他的相關資訊

提醒

  1. 在 run spoon-runner 前,可以先用 $ adb devices 確認所有連接的 devices。spoon-runner 會一次跑完所有的 device
  2. 有人有開發 Spoon Gradle Plugin,可以省去以上複雜步驟。設定完之後,只需要 $ ./gradlew spoon。但是我測試之後,一直失敗XDDD,待有心人嘗試看看囉~

##Reference