使用 Espresso 編寫簡潔、美觀且可靠的 Android UI 測試。
以下程式碼片段是 Espresso 測試範例:
Kotlin
@Test fun greeterSaysHello() { onView(withId(R.id.name_field)).perform(typeText("Steve")) onView(withId(R.id.greet_button)).perform(click()) onView(withText("Hello Steve!")).check(matches(isDisplayed())) }
Java
@Test public void greeterSaysHello() { onView(withId(R.id.name_field)).perform(typeText("Steve")); onView(withId(R.id.greet_button)).perform(click()); onView(withText("Hello Steve!")).check(matches(isDisplayed())); }
核心 API 規模較小、可預測且容易學習,但仍開放自訂。Espresso 可以清楚測試狀態的期望、互動和斷言,而不會造成樣板內容、自訂基礎架構或混亂的實作詳細資料造成乾擾。
Espresso 測試能以最佳速度執行!它可讓您保留等待、同步、睡眠和輪詢,同時在靜態應用程式 UI 上操控和斷言。
目標對象
Espresso 鎖定開發人員,他們認為自動化測試是開發生命週期中不可或缺的一環。雖然這可用於黑箱測試,但熟悉受測試程式碼集的熟悉者可以解鎖 Espresso 的完整電源。
同步處理功能
每次測試叫用 onView()
時,Espresso 都會等待執行對應的 UI 動作或斷言,直到滿足下列同步條件為止:
執行這些檢查後,Espresso 會大幅提高在任何特定時間只能執行一個 UI 動作或斷言的可能性。這項功能可為您帶來更可靠且可靠的測試結果。
套裝組合
espresso-core
- 包含核心和基本View
比對器、動作和斷言。請參閱基本資訊和食譜。espresso-web
- 包含WebView
支援的資源。espresso-idling-resource
- Espresso 與背景工作同步處理的機制。espresso-contrib
- 包含DatePicker
、RecyclerView
和Drawer
動作、無障礙功能檢查和CountingIdlingResource
的外部貢獻。espresso-intents
- 用於驗證密封測試並虛設常式意圖的擴充功能。espresso-remote
- Espresso 多程序功能的位置。
如要進一步瞭解最新版本,請參閱版本資訊。
其他資源
如要進一步瞭解如何在 Android 測試中使用 Espresso,請參閱下列資源。
範例
- Espresso 程式碼範例內含一系列 Espresso 範例。
- BasicSample:基本 Espresso 範例。
- (更多...)