AndroidX Test Espresso 3.1.1、Runner 1.1.1、Rule 1.1.1、Monitor 1.1.1 AndroidTestOrchestrator 1.1.1、Core 1.1.0、Truth 1.1.0、JUnit 1.1.0 (2018-12-13)
這是穩定版本的 AndroidX Test 1.1.0
- 核心
- 允許 ActivityScenario 支援啟動其他活動的活動
AndroidX Test Espresso 3.1.1-beta01、Runner 1.1.1-beta01、Rule 1.1.1-beta01、Monitor 1.1.1-beta01 AndroidTestOrchestrator 1.1.1-beta01、Core 1.1.0-beta01 Truth 1.1.0-beta01、JUnit 1.1.0-beta01 (2018-12-06)
- 核心
- 提供全新的 Core-ktx Kotlin 擴充功能構件!其中包括適用於 Kotlin 的 ActivityScenario.launchActivity API
- 全新的 ActivityScenario API,用於啟動具有自訂意圖的活動
- 全新的 ActivityScenario API,用於接收 Activity 結果
- 允許關閉 ActivityScenario
- Espresso
- 修改 withResourceNameMatcher 和 HumanReadables,使其與 API 28 相容
- 更新 ReplaceTextAction 的說明,以加入 stringToBeSet
- 支援在 Robolectric 的已暫停循環器模式下使用 Espresso。
- JUnit
- 全新的 ActivityScenarioRule API,用於在測試的設定和卸除作業中自動啟動及關閉 Activity
- 提供全新的 junit-ktx kotlin 擴充功能構件!其中包括適用於 Kotlin 的 ActivityContextRule API
- 執行器
- 讓 -e 套件和 -e testFile 在接收套件時呈現一致的行為
- Truth
- 新增 bool、parcelable 和 parcelableAsType BundleSubject API
AndroidX Test Espresso 3.1.0、Runner 1.1.0、Rule 1.1.0、Monitor 1.1.0 AndroidTestOrchestrator 1.1.0、Core 1.0.0 Truth 1.0.0、JUnit 1.0.0 (2018-10-24)
- 全部
- 將 minSdkVersion 設為 14,並將 targetSdkVersion 設為 28
- Espresso
- 修正 withContentDescription,以便與非字串類型搭配運作
- 新增在 Robolectric 上使用 Espresso 的支援機制
- 問題 72798625:啟用 textAllCaps 時,Espresso ViewMatchers.withText 無法正常運作
- 新增對插入動作事件序列的支援
- 意圖
- 新增 Beta 版 API 以擷取意圖清單,專為與新的 Truth 斷言搭配使用
- 執行器
- 新增對免安裝應用程式的支援
- 淘汰 androidx.test.runner.AndroidJUnit4,並以 androidx.test.ext.junit.runners.AndroidJUnit4 取代
- 監控
- 淘汰 androidx.test.InstrumentationRegistry,並以 androidx.test.platform.app.InstrumentationRegistry 和 androidx.test.core.app.ApplicationProvider 取代
- AndroidTestOrchestrator
- 只有在同時傳遞「coverage」和「coverageFilePath」引數時,才啟用 Orchestrator 涵蓋率處理機制
- 只有在設定 -debug 但非用於列出帳戶遭盜用 (ATO) 測試案例的情況下,才需要等待偵錯工具。新增用於對 Orchestrator 本身進行偵錯的全新 orchestratorDebug 標記
- 核心
- 提供全新的構件!其中包括全新的 API,可同時支援本機與裝置端針對下列項目的測試作業:
- 擷取背景資訊:ApplicationProvider
- 控管活動生命週期:ActivityScenario (Beta 版)
- 適用於 MotionEvent 和 PackageInfo 的建構工具
- Parceables 公用程式類別
- 提供全新的構件!其中包括全新的 API,可同時支援本機與裝置端針對下列項目的測試作業:
- Truth
- 提供全新的構件!其中包括 Notification、Intent、Bundle、Parcelable 和 MotionEvent 的 Truth 自訂主體
- JUnit
- 提供全新的構件!其中包括支援本機與裝置端測試的 JUnit Runner 類別 androidx.test.ext.junit.runners.AndroidJUnit4。
Espresso 3.0.2-beta1、Runner 1.0.2-beta1、Rule 1.0.2-beta1、Monitor 1.0.2-beta1、AndroidTestOrchestrator 1.0.2-beta1 (2018-04-16)
- Espresso
- 破壞性 API 變更:
- 在問題64062890中引起了我們的注意,這是在我們公開的 API 中使用了 Guava Optional。這對我們來說是一個可怕的疏忽。因此,這個版本有重大的公開 API 變更資訊來解決這個問題。我們推出了在 Guava Optional 類別周圍加入醜陋的包裝函式,名為 EspressoOptional,其位在「android.support.test.espresso.util」命名空間下。使用洩漏的 Guava Optional API 的開發人員,需要在更新到此新版本期間,變更其匯入和參照項目,以使用 EspressoOptional。不便之處,敬請見諒。
- onView() 和 onData() API 現已標示為 @CheckReturnValue,可避免發生錯誤
- 已修正 espresso-core POM 檔案,以不引入「規則」依附元件,而是讓 espresso-intents POM 來提取。這對開發人員來說,這應該是一個 NoOp 變更,因為沒有 espresso-core 就無法使用 espresso-intents。
- 問題 65486414:Espresso 缺少 Guava 依附元件
- 問題 65576174:Espresso IdlingResourceRegistry.sync 會造成第二次測試失敗
- 問題 65568629:Espresso.onIdle 未使用 IdlingRegistry
- 問題 69333598:espresso 3.0.1 與 Android 程式庫模組中的 play-services-auth:11.6.0 不相容。
- 問題 64062890:由 AdapterViewProtocol 介面顯示的內部選用類型
- 問題 64091847:Espresso 3.0.0「不應」取決於測試執行者
- 問題 73722050:espresso-contrib 3.0.2-alpha1 套件 android.arch.{lifecycle/core} 類別
- 破壞性 API 變更:
- Espresso-remote
- 這是全新成果。我們將 Espresso 的所有多工處理函式解耦到 espresso-core 構件之外。這是比較簡潔的做法,而且應該會顯著減少 espresso-core 的整體大小和方法數量。
- 執行器
- 規則
- 生命週期變更後,請務必釋出有關被測試活動的參照。在測試期間,現在可以使用從 #getActivity()獲得的參照直接操作活動,如果活動完成並重新啟動,#getActivity()返回的參照現在總是指向活動的目前執行個體。
- 問題 64389280:GrantPermissionRule 不提供 WRITE_EXTERNAL_STORAGE
- 問題 37065965:ActivityTestRule 會在螢幕方向改變後外洩活動
- 問題 75254050:ActivityTestRule 不會在設定變更時更新 Activity 執行個體
- 問題 64464625:無法在活動的方法 finish() 中處理 UI 工作
- AndroidTestOrchestrator
- 傳送
-e coverage true -e coverageFilePath /sdcard/foo/旗標即可在指定位置產生涵蓋範圍檔案 (應用程式必須具備寫入特定位置的權限)。覆蓋檔案命名約定現在看起來像這樣:com.foo.Class#method1.ec。請注意,這項功能只能在隔離模式中執行。而且無法與 AndroidJUnitRunner 的coverageFile旗標搭配使用。因為產生的覆蓋檔案會覆寫彼此。 - 如果您希望自動化調度管理工具在測試叫用之間執行
pm clear context.getPackageName()和pm clear targetContext.getPackageName()指令,請傳遞-e clearPackageData旗標。請注意,明確指令中的結構定義是指測試結構定義下的應用結構定義程式。 - 已修正 - 執行空白測試時,即目標中沒有 @Test,測試結果與舊模式不同。
- 問題 72758547:測試自動化調度管理工具導致 Jacoco 涵蓋率資料不完整,只有一個測試執行資料
- 問題 67916042:Android Test Orchestrator:由於 OutOfMemory,在程序當機時停止執行
- 問題 77752735:自動化調度管理工具因 TransactionTooLargeException 而導致當機
- 問題 77549481:測試自動化調度管理工具應在每次測試後執行「pm clear」
- 傳送
Espresso 3.0.2-alpha1、Runner 1.0.2-alpha1、Rule 1.0.2-alpha1、AndroidTestOrchestrator 1.0.2-alpha1 (2017-12-05)
Espresso
Intents現在有可呼叫的回應,在擷取一個觸發的意圖之後允許測試以執行,但在傳回一個Instrumentation.ActivityResult物件之前。
Runner
分割監控 Maven 成果
com.android.support.test:monitor:<version>,對於需要的使用者MonitoringInstrumentation沒有測試執行和 JUnit 功能。如果您使用
com.android.support.test:runner:<version>,則一切都會正常運作,因為 Gradle 會自動提取monitor模組作為runner模組的依附元件。已新增旗標
newRunListenerOrderMode。true時,使用者定義的事件監聽器會在預設事件監聽器之前執行。(我們預期這個行為最終將成為預設選項。)問題 65828576:在以
@Ignore加註的類別中執行測試時,TestRequestBuilder會當機 (獨立執行,但未執行測試或 JUnit 功能)。
AndroidTestOrchestrator
- 現在可按照與非自動化調度管理工具
AndroidJUnitRunner相同的方式處理空白測試。 - Orchestrator 現在可以處理來自
AndroidJUnitRunner的大型標準輸出。
- 現在可按照與非自動化調度管理工具
Espresso 3.0.1、Runner 1.0.1、Rule 1.0.1、AndroidTestOrchestrator 1.0.1 (2017-08-28)
Espresso
- 新增
IdlingPolicy選項,在步驟偵錯工具附加至 VM 時抑制onTimeout()。 - 問題 64024656、64247586 和 64525881:除非使用者透過包含
-e類別執行者引數來載入特定的類別,否則不要回報不成功類別載入失敗。 - 問題 64877246:在來源 JAR 檔案中新增缺少的類別。
- 新增
Runner
- 簡化
ShardingFilter邏輯。 - 問題 65025743:
@RequiresDevice篩選器現在支援 FTL 模擬器。
- 簡化
AndroidTestOrchestrator
- 請勿重複報告失敗。如果測試程序在失敗後當機,測試中只會回報一次失敗。
- 已修正適用 Orchestrator 的 Javadoc。
- 現在,如果遠端處理程序當機,測試就會標示為錯過。
- 現在控點已忽略的測試案例。
- 現在從頁腳中排除忽略的測試用例以比對舊版結果。
- 已修正執行階段權限問題。在 Android 7.0 (API 級別 24) 以上版本中,測試報告現在會寫入 SD 卡。
Espresso 3.0.0、Runner 1.0.0、Rule 1.0.0、AndroidTestOrchestrator 1.0.0 (2017-07-25,公告)
破壞性變更
- 所有構件
- 停止支援低於 15 的 API 級別;不過,基本 SDK 仍指向 API 級別 9,讓使用者有時間進行升級。
- Espresso
- 已淘汰的
android.support.test.espresso.contrib.CountingIdlingResource類別已遭刪除,並移至android.support.test.espresso.idling.CountingIdlingResource - Guava 現已淘汰到不同的「內部」命名空間;如果您意外透過 Espresso 命名空間使用 Guava API,則可能會看到服務中斷情形
- 移除對陰影 Guava 的任何參照 (
.core.deps.guava.) - 將支援程式庫版本升級至 25.4.0 以上版本
- 移除對陰影 Guava 的任何參照 (
- 已淘汰的
已知問題
- AndroidTestOrchestrator
- 目前不支援
-e numShards和-e shardIndex執行器引數 - 目前不支援參數化測試
- 目前不支援
新功能
- Espresso
- 新的 Multiprocess Espresso
API 26 支援
espresso-core和espresso-web,但不支援espresso-contrib - 全新輕量級
IdlingRegistryAPI- 作為
com.android.support.test.espresso:espresso-idling-resource:3.0.0的一部分發布 - 淘汰的方法:
- 作為
- 新的 API 可協助與
Executors進行同步處理- 新的 Maven 構件:
com.android.support.test.espresso.idling:idling-concurrent:3.0.0 - 包含
IdlingScheduledThreadPoolExecutor和IdlingThreadPoolExecutor類別
- 新的 Maven 構件:
- 新的 API 可協助您針對網路要求和回應進行同步處理。
- 新的 Maven 構件:
com.android.support.test.espresso.idling:idling-net:3.0.0 - 包含
UriIdlingResource類別
- 新的 Maven 構件:
- 新的
espresso-core檢視區塊比對器:hasBackground()與View物件的背景可繪製資源相符hasTextColor()與TextView物件的顏色相符
- 新的檢視畫面動作方法:
- 增強
scrollTo()檢視操作以與ListView的子系搭配使用 repeatedlyUntil()- 對資料檢視執行指定的ViewAction,直到資料檢視與所需相符ViewMatchers
- 增強
- 新的 Espresso 方法:
pressBackUnconditionally():與pressBack()類似,但在 Espresso 導覽時不會擲回例外狀況noActivity()– Removes the need of waiting for an activity before performing aViewActionorViewAssertiononIdle():在應用程式閒置時循環主執行緒onIdle(Callable<T>):與onIdle()相同,但必須使用應用程式閒置後執行的額外的Callable做為參數
webScrollIntoView()– 新的espresso-webAtom,可讓您在WebView內捲動
- 新的 Multiprocess Espresso
API 26 支援
- 執行器
-
InterceptingActivityFactory和SingleActivityFactory:提供一項隔離的活動測試工具,負責測試您在覆寫startService()和sendBroadcast()等方法 -
新增支援將 JUnitParams 與
AndroidJUnitRunner搭配使用的功能 -
開始處理在核心測試執行器級別的
@UiThreadTest。並淘汰@UiThreadTestRule–這使得可以直接在使用@Before和@After註解的方法上使用@UiThreadTest註解 -
@SdkSupress註解現已支援maxSdkVersion值 (問題 37067792) -
-e classLoader- 提供使用執行器引數傳遞類別載入器的功能 -
-e filter- 新增對使用執行器引數指定的自訂 JUnit 篩選器的支援 -
-e runnerBuilder-讓開發人員自行提供RunnerBuilder的實作方式,藉此判斷他們是否能在特定類別上執行,以及如何執行
-
- 規則
- AndroidTestOrchestrator
- Android Test Orchestrator 可讓您透過全新方式收集和執行測試,並著重於修正和隔離問題。Orchestrator 是獨立的檢測程序,每次測試會產生一個檢測執行器程序,並收集結果。
- 應用程式當機功能會將執行器檢測作業移除,而非自動化調度管理工具,因此讓測試套件繼續
- 需要安裝自動化調度管理 APK -
'com.android.support.test:orchestrator:1.0.0' - 1.0 版只有指令列介面;已規劃與 Android Studio 和 Firebase Test Lab 整合
- Android Test Orchestrator 可讓您透過全新方式收集和執行測試,並著重於修正和隔離問題。Orchestrator 是獨立的檢測程序,每次測試會產生一個檢測執行器程序,並收集結果。
修正錯誤
- Espresso
- 改善根視圖同步處理功能,大幅減少片狀現象
- 修正「
IdlingResourceRegistry」的損毀 - 更有效地同步處理
IdlingResource物件 - 問題 37132680:Espresso 不用等待對話方塊建立完成,才能進行下一個動作
- 問題 37103280:Espresso 應運送 ProGuard 消費者規則,讓消費者不必加入規則
- 問題 37094726:Espresso Intent 包含不必要的應用程式標籤
- 問題 37093953:Espresso:沒有可用的空值/空白錯誤文字檢查
- 問題 37071776:
espresso-core嵌入了 Guava 的.pom檔案 - 問題 37062612:
release()中的 NPE - 問題 37063389:將 Guava 和
espresso-web作為androidTest依附元件無法編譯 - 問題 37070533:在 Android 設計支援資料庫中新增對
NavigationView的支援。
- 執行器
-
修正將
@UiThreadTest與@Test(timeout = 123)搭配使用的功能 - 已修正
-e notClass執行器引數 - 修正
-e log,支援 JUnit3 和 JUnit4 測試套件,以及Parameterized和Enclosed執行器 - 問題 37663530:等待所有活動都結束之前和之後完成的測試方法
- 問題 37132680:Espresso 不會等待對話方塊建立完成,才執行下一個動作
-
問題 37123213:在 x86_64 ABI 上忽略
@RequiresDevice -
問題 37101485:部分資訊清單提供的引數
AndroidJUnitRunner(例如測試大小、註解和偵錯) 會遭到忽略 - 問題37082857:靜態物件上的 Espresso 半平行測試執行失敗
-
問題 37063396:內容未以
ProviderTestCase2初始化 (原因:NullPointerException)
-
修正將
- 規則
- 修正
ActivityTestRule生命週期,以便整合一般和延遲ActivityTestRule初始化行為 - 問題 37079943:修正
ServiceTestRule以允許重新繫結 - 問題 37109342:新增
getActivityResult()和ActivityResultMatchers
- 修正
- UiAutomator
setUiAutomationFlags()可與UiAutomation.FLAG_DONT_SUPPRESS_ACCESSIBILITY_SERVICES搭配使用:這項操作會允許UiAutomator在執行其他無障礙服務期間使用- 問題 37082813:如果 API 級別為 19 以下,
setText()留空EditText物件會擲回NullPointerException
其他重要變更
- 系統現在會透過 Google Maven 發布二進位檔
- 縮減
espresso-core和espresso-webJAR 檔案的大小 - 內嵌依附元件現已套用 ProGuard - 全部
.aar個檔案現在都會包含 ProGuard 規則 - 將
proguard_library.cfg個檔案新增至已發布的成果 Tapper介面已推出新版的sendTap()
外部貢獻
- Espresso
- 執行器
- 規則
Espresso 2.2.2、Runner/Rules 0.5 (2016-02-22,靜音版本)
新功能
- espresso
- 問題 194253:在 Android 支援設計資料庫中新增 NavigationView 支援
- 針對已啟用的動畫和轉場效果新增檢查
- 新的
ViewMatcherAPI:withResourceName()
修正錯誤
- espresso
- 問題 195331:espresso-core 嵌入 guava 的 POM 檔案
- 將計數空閒資源移出 espresso-contrib
- 規則
- 問題 187249:
Intents.release()中的 NPE
- 問題 187249:
- 執行器
- 問題 196066:
AndroidJUnitRunner中的-e log true引數無法略過實際測試 - 等待
onCreate()執行器的偵錯工具 - 將所有受支援的測試註解移出平台並進入 ATSL
- 已移除沒有 JSBridge 的堆疊追蹤傾印
- 已修正
AndroidAnnotatedBuilder
- 問題 196066:
其他重要變更
ActivityTestRule、UiThreadTestRule、IntentsTestRule和ServiceTestRule已通過測試階段- 新增程式碼樣式設定檔,以採用統一的程式碼格式
Espresso 2.2.1、Runner/Rules 0.4 (2015-09-15)
新功能
- 規則
- 新增新的
IntentsTestRule建構函式,使其與ActivityTestRule完全相容
- 新增新的
- 執行器
- 新增 API 級別 15 以下特別的 multidex 安裝案例
- 已在類別和套件中加入排除篩選器:
- 執除特定類別之外的所有測試:
adb shell am instrument -w -e notClass com.android.foo.FooTest - 只能執行單一測試:
adb shell am instrument -w -e notClass com.android.foo.FooTest#testFoo - 執行特定套件以外的所有測試:
adb shell am instrument -w -e notPackage com.android.foo.bar
- 執除特定類別之外的所有測試:
外部貢獻
- espresso
修正錯誤
- espresso
ViewActions.closeSoftKeyboard()現在會確保螢幕鍵盤已完全消失- 已修正 Espresso
Espresso.pressBack()方法在 API 級別 21 以上版本中的同步處理問題 - 已修正 API 級別 23 鍵盤關閉動畫的同步處理作業
- 規則
- 修正 API 級別 23 的
ServiceTestRule,startService()一律必須使用明確的Intent呼叫
- 修正 API 級別 23 的
- 執行器
- 已修正損毀的 Gradle
JaCoCo支援 - 修正損壞的資料分割測試支援
- 修正了
JUnit3樣式測試逾時後測試運行器中的不一致問題
- 已修正損毀的 Gradle
其他重要變更
- 修正 Javadoc 和改善錯誤訊息
- 忽略
suite()方法,且使用方法篩選器時,不會忽略 init 錯誤
Espresso 2.2 / ATSL 0.3 (2015-06-09)
新功能
- espresso-web 2.2
- 新的「
WebView」支援
- 新的「
- �espresso-core 2.2
- 已遷移至使用 Dagger v2
- 已遷移至使用 Hamcrest v1.3
- espresso-contrib 2.2
- 無障礙檢查
DrawerActions重力支援
- 規則 0.3
DisableOnAndroidDebug項規則
- 執行器 0.3
- 從 JUnit v4.10 升級至 JUnit v4.12
- 遷移至使用 Hamcrest v1.3
修正錯誤
- 修正
DrawerActions外洩ParentListener的問題 - 假設失敗現在被視為忽略測試而不是失敗測試
- 已修正
MonitoringInstrumentation透過ExecutorService外洩的活動例項 - 修正孤立活動停在停止階段的問題
- 如果未產生任何捲動事件,請更新
Until.scrollFinished()以傳回是。防範UiObject2#setText()中的潛在 NPE。
Espresso 2.1、Test Runner/Rules 0.2 和 UIAutomator 2.1.0 (2015-04-21)
破壞性變更
- 測試執行器構件分為兩個部分,名稱已從
com.android.support.test:testing-support-lib:0.1變更為com.android.support.test:runner:0.2和com.android.support.test:rules:0.2。
新功能
- espresso-intents:這是 Mockito 型的 API,可讓測試作者驗證及擷取傳出意圖,以便啟用密封互動測試。
IntentsTestRule:擴充ActivityTestRule、初始化及發布功能性使用者介面測試中的 Espresso-Intent
- espresso-core
ViewActions:新增了在執行操作之前可執行全局斷言的能力。這對於構建在 Espresso 之上的其他架構很有用,以在執行現有 Espresso 測試套件時驗證檢視區塊階層結構的狀態。ViewMatchers.withContentDescription()resId超載
- 規則
ActivityTestRule:這項規則針對單一活動提供功能測試UiThreadRule和UiThreadTest註解:這項規則可讓以UiThreadTest加註的測試方法,在應用程式的主要執行緒 (或 UI 執行緒) 上執行ServiceTestRule:這項規則提供服務的功能測試
- 執行器
ApplicationLifecycleCallback:監控應用程式生命週期事件的回呼- 您現在也可以使用
<meta-data>標籤在 Android 資訊清單檔案中指定所有執行器引數
- UIAutomator
UiDevice.dumpWindowHierarchy()現在可以接受File或OutputStream
修正錯誤
- espresso
- 如果找不到該資料欄,游標比對器現在會傳回
false,讓 Hamcrest 繼續處理下一個游標 - 包含
PreferenceMatcherswithTitle的NullPointerException已不會出現 - 取消註冊閒置資源後,不再使用 Espresso 認為我們擁有忙碌的閒置資源
- 更新了 Espresso Contrib 使用的 Support Annotations 版本
- 如果找不到該資料欄,游標比對器現在會傳回
- 執行器
AndroidJUnit4現在會略過假設失敗的測試
- UIAutomator
- 執行觀影盒以防止
StaleObjectException
- 執行觀影盒以防止
其他重要變更
- 當我們無法使用非拉丁字元串鍵入文字時新增更好的錯誤訊息
UIAutomator 2.0 (2015-03-12)
UI Automator 現已採用 Android 檢測工具,您可以使用 ./gradlew connectedCheck 指令建構及執行測試。
Espresso 2.0 版,Test Runner 0.1 (發布日期:2014-12-19)
破壞性變更
- Espresso 已移至新的命名空間 (從
android.support.test.espresso到android.support.test.espresso) - Espresso 構件已重新命名
espresso-1.1.jar現在是espresso-core-release-2.0.jarIdlingResource介面已移至獨立的資料庫:espresso-idling-resource-release-2.0.jarCountingIdlingResource現在位於espresso-contrib-release-2.0.jar(一如既往)
- 選用 (一個 guava 依附元件) 已從公開 API 中移除,以支援重新封裝 guava 依附元件並避免 DEX 衝突 (這是開發的主要問題來源)。受影響的方法如下:
ViewAssertion.check()HumanReadables.getViewHierarchyErrorMessage()
新功能
- 動作
ViewActionsreplaceText()openLink()- 向上和向下滑動
- espresso-contrib
RecyclerViewActions:處理與RecyclerViews的互動PickerActions:處理與Date和Time挑選器的互動
- 比對器
RootMatchersisPlatformPopup()
ViewMatchersisJavascriptEnabled()withSpinnerText()withHint()isSelected()hasLinks()
LayoutMatchers:用於 i18n 相關版面配置測試的比對器CursorMatchers:Cursor物件的比對器系列
- 斷言
PositionAssertions,包括isLeftOf()和isAbove():ViewAssertions的 Colleciton,用於檢查螢幕中元素相對的位置LayoutAssertions:i18n 相關版面配置測試的斷言
- 測試應用程式:許多新的範例活動/測試
- 其他
Espresso.unregisterIdlingResources()和Espresso.getIdlingResources():提供更多與IdlingResources合作的彈性ViewInteraction.withFailureHandler():允許覆寫來自onView()的失敗處理常式onData()支援由CursorAdapters支援的AdapterViews
修正錯誤
ViewMatchers.isDisplayed()會比對佔滿整個螢幕畫面的視圖,但顯示畫面不再低於 90%- 對
DrawerActions.openDrawer()執行滑動動作呼叫後,不再有結果在IdlingResourceTimeoutException。
其他重要變更
- 已從使用 Maven 構建切換至 Gradle
- 將 Espresso 依附元件 (Guava、Dagger、Hamcrest) 移出即可避免產生 DEX 衝突
- 已變更,以便在註冊及取消註冊閒置資源時傳回成功或失敗
- Lollipop 支援:將
message.recycle()置於介面後方,以因應版本相關變更 - 已將目標 SDK 等級切換為 21 - 主要會影響測試應用程式
1.1 版 (發布日期:2014 年 1 月 8 日)
Espresso
- 新的
swipeLeft和swipeRightViewActions - 支援多視窗模式:這項進階功能可讓您選擇目標視窗執行 Espresso 執行作業時的目標位置
- 改善
TypeTextAction:允許在預先對焦檢視模式中輸入文字,更輕鬆地附加文字 - 修正多項錯誤
Espresso Contrib 程式庫
- 這個新的程式庫包含補充 Espresso 的功能,但不屬於核心程式庫的一部分
- 在
DrawerLayout上運作的新DrawerActions:具有與 Android 支援資料庫的相依關係,因此我們會將其保留在核心 Espresso 程式庫之外
測試範例
- 這些測試已重新定位到與測試應用程式相同的套件中
- 已修正 Maven POM 以移除重複的 Guava 下降作業,因此
mvn install應該能正常運作