您可以使用 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 必須立即顯示的訊息 上傳資料集之後,您可以運用 AutoML 自動完成部分資料準備工作
- 目前沒有執行中的「
AsyncTask
」執行個體 或稱做工作 - 所有由開發人員定義 閒置資源處於閒置狀態。
執行這些檢查後,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 範例。
- (更多...)