簡體   English   中英

濃咖啡,測試第二項活動的啟動

[英]Espresso, test launch of second activity

我想知道如何通過單擊按鈕來測試活動的啟動。 我知道這可以用以下方法實現: onView(withText(R.string.button_next_activity)).perform(click()); ,然后onView(withId(R.id.second_tv_welcome)).check(matches(withText(R.string.second_tv_welcome))); 其中second_tv_welcome是第二個活動的textView。 但是我當前的活動是啟動Facebook Web視圖,我不知道此活動中的ID是什么,而且我發現這種檢查方法(檢查是否存在textview並具有期望的文本)不是很干凈。 任何解決方法? 謝謝。

您應該避免在功能測試中使用外部服務。 這包括進行API調用,使用GPS以及內部執行的操作,例如Facebook或Google+登錄按鈕。

我采用的方法是創建兩種樣式,然后在每種樣式中放置登錄按鈕布局:一種用於生產,另一種用於模擬,一種模擬,除了通知登錄操作成功(或失敗)外,不執行任何操作,因此調用代碼可能會轉到另一個活動。 剛開始聽起來很難做到這一點,所以您可能想看看我的寵物應用程序的相關代碼:

在此應用程序兩種形式定義stub_login文件夾中的src / RES文件夾的build.gradle

sourceSets {
    mock {
        java { srcDir 'src/stub_login/java' }
        res { srcDir 'src/stub_login/res' }
    }
    apiary {
        java { srcDir 'src/stub_login/java' }
        res { srcDir 'src/stub_login/res' }
    }
}

測試 (目前還不多)運行:

./gradlew connectedAndroidTestMockDebug

請注意,功能測試位於src/androidTestMock而單元測試則可能位於src/androidTest

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM