AndroidX Test Espresso 3.1.1、Runner 1.1.1、Rules 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 支持启动其他 Activity 的 Activity
AndroidX Test Espresso 3.1.1-beta01、Runner 1.1.1-beta01、Rules 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
- 用于使用自定义意图启动 Activity 的新 ActivityScenario API
- 用于接收 Activity 结果的新 ActivityScenario API
- 使 ActivityScenario 可关闭
- Espresso
- 修改 withResourceNameMatcher 和 HumanReadables 以与 API 28 兼容。
- 更新 ReplaceTextAction 的说明以包含 stringToBeSet
- 在 Robolectric 暂停的 looper 模式下支持 Espresso。
- JUnit
- 新的 ActivityScenarioRule API,用于在测试设置和拆卸时自动启动和关闭 Activity
- 新的 junit-ktx kotlin 扩展构件!包括一个 kotlin 友好的 ActivityScenarioRule API
- Runner
- 使 -e package 和 -e testFile 在接收包时行为一致
- Truth
- 添加 bool、parcelable 和 parcelableAsType BundleSubject API
AndroidX Test Espresso 3.1.0、Runner 1.1.0、Rules 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。旨在与新的真相断言一起使用
- Runner
- 添加对即时应用的支持
- 弃用 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' 参数时才启用协调器覆盖处理。
- 仅在设置 -debug 时才等待调试器,但不等待列出 ATO 测试用例。添加了一个新的 orchestratorDebug 标志用于调试协调器本身。
- 核心
- 新的构件!包含支持本地和设备上测试的新 API,用于:
- 检索上下文:ApplicationProvider
- 控制活动生命周期:ActivityScenario(Beta)
- MotionEvent 和 PackageInfo 的构建器
- Parcelable 实用程序类
- 新的构件!包含支持本地和设备上测试的新 API,用于:
- Truth
- 新的构件!包含针对 Notification、Intent、Bundle、Parcelable 和 MotionEvent 的自定义真相主题。
- JUnit
- 新的构件!包含支持本地和设备上测试的 JUnit 运行器类 androidx.test.ext.junit.runners.AndroidJUnit4。
Espresso 3.0.2-beta1,Runner 1.0.2-beta1,Rules 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 文件,使其不再引入“rules”依赖项,而是让 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 接口公开的内部 Optional 类型
- 问题 64091847:Espresso 3.0.0 不应依赖于测试运行器
- 问题 73722050:espresso-contrib 3.0.2-alpha1 包含 android.arch.{lifecycle/core} 类
- 重大 API 变更
- Espresso-remote
- 这是一个全新的构件。我们将 Espresso 的所有多进程功能从 espresso-core 构件中分离出来。这更清晰,应该会大大减少 espresso-core 的整体大小和方法数量。
- Runner
- 规则
- 确保在生命周期更改后释放对测试中 Activity 的引用。在测试期间,现在可以使用从 #getActivity() 获取的引用直接操作 Activity。如果 Activity 已完成并重新启动,则 #getActivity() 返回的引用现在始终指向 Activity 的当前实例。
- 问题 64389280:GrantPermissionRule 不提供 WRITE_EXTERNAL_STORAGE
- 问题 37065965:ActivityTestRule 在屏幕方向更改后泄漏 Activity
- 问题 75254050:ActivityTestRule 在配置更改期间不更新 Activity 实例
- 问题 64464625:无法在 Activity 的 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 测试协调器:由于内存不足导致进程崩溃而停止执行
- 问题 77752735:对于 TransactionTooLargeException,协调器崩溃
- 问题 77549481:测试协调器应在每次测试后运行“pm clear”
- 传递
Espresso 3.0.2-alpha1,Runner 1.0.2-alpha1,Rules 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
注解的类(独立使用,无需测试运行或 JUnit 功能)中运行测试时,TestRequestBuilder
会崩溃。
AndroidTestOrchestrator
- 现在以与非协调的
AndroidJUnitRunner
相同的方式处理空测试。 - 协调器现在可以处理来自
AndroidJUnitRunner
的非常大的标准输出。
- 现在以与非协调的
Espresso 3.0.1,Runner 1.0.1,Rules 1.0.1,AndroidTestOrchestrator 1.0.1 (2017-08-28)
Espresso
- 添加了一个
IdlingPolicy
选项,以便在将步骤调试器附加到 VM 时禁止onTimeout()
。 - 问题 64024656、64247586 和 64525881:除非用户通过包含
-e
类运行器参数来加载特定类,否则不报告类加载失败。 - 问题 64877246:将缺失的类添加到 sources JAR 文件。
- 添加了一个
Runner
- 简化了
ShardingFilter
逻辑。 - 问题 65025743:
@RequiresDevice
过滤器现在支持 FTL 模拟器。
- 简化了
AndroidTestOrchestrator
- 不重复报告失败。测试进程在失败后崩溃时,现在仅报告一次测试失败。
- 修复了协调器的Javadoc。
- 如果远程进程崩溃,则现在指示测试为未通过。
- 现在处理被忽略的测试用例。
- 现在从页脚中排除被忽略的测试用例,以匹配传统结果。
- 修复了运行时权限问题。测试报告现在写入 Android 7.0(API 级别 24)和更高版本的 SD 卡。
Espresso 3.0.0,Runner 1.0.0,Rules 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 现在已通过 jarjar 移至不同的“内部”命名空间 – 如果您意外地通过 Espresso 命名空间使用 Guava API,您可能会看到中断
- 删除对阴影 Guava 的任何引用(
.core.deps.guava.
) - 将您的支持库版本升级到 25.4.0 或更高版本
- 删除对阴影 Guava 的任何引用(
- 已弃用的
已知问题
- AndroidTestOrchestrator
-e numShards
和-e shardIndex
运行器参数当前不受支持- 参数化测试 当前不受支持
新功能
- Espresso
- API 26 上的新的 多进程 Espresso 支持,适用于
espresso-core
和espresso-web
,但不适用于espresso-contrib
- 新的轻量级
IdlingRegistry
API- 作为
com.android.support.test.espresso:espresso-idling-resource:3.0.0
的一部分发布 - 已弃用的方法
- 作为
- 帮助针对
Executors
进行同步的新 API- 新的 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()
ViewAction
或ViewAssertion
之前等待 Activity 的需求
– 循环主线程,直到应用程序空闲onIdle()
– 与onIdle(Callable<T>)
onIdle()
相同,但它接受一个额外的Callable
作为参数,该参数在应用程序空闲后执行
– 一个新的webScrollIntoView()
espresso-web
原子操作,允许你在WebView
内滚动
- API 26 上的新的 多进程 Espresso 支持,适用于
- Runner
-
InterceptingActivityFactory
SingleActivityFactory
startService()
和sendBroadcast()
等方法,提供了一种隔离外部世界测试 Activity 的方法 - 添加了对使用 JUnitParams 与
AndroidJUnitRunner
的支持 - 在核心测试运行器级别开始处理
@UiThreadTest
并弃用@UiThreadTestRule
– 这使得可以直接在用@Before
和@After
注解的方法上使用@UiThreadTest
注解 -
@SdkSupress
maxSdkVersion
值(问题 37067792) -
– 提供使用运行器参数传递类加载器的能力-e classLoader
-
– 添加了对使用运行器参数指定自定义 JUnit 过滤器的支持-e filter
-
– 允许开发者提供他们自己的-e runnerBuilder
RunnerBuilder
实现,该实现可以确定他们是否以及如何针对特定类运行
-
- 规则
– 测试ProviderTestRule
ContentProvider
对象的新 API
和getActivityResult()
– 获取已调用ActivityResultMatchers
setResult()
的 Activity 的 Activity 结果的新 API
- AndroidTestOrchestrator
- Android 测试编排器 提供了一种新的收集和运行测试的方法,重点在于正确性和隔离性。编排器是一个独立的 Instrumentation 进程,为每个测试生成一个 Instrumentation 运行器进程并收集结果。
- 应用程序崩溃会使运行器 Instrumentation 失败,但不会使编排器失败,从而允许你的测试套件继续进行
- 需要安装编排器 APK –
'com.android.support.test:orchestrator:1.0.0'
- 1.0 版仅具有命令行界面;计划与 Android Studio 和 Firebase Test Labs 集成
- Android 测试编排器 提供了一种新的收集和运行测试的方法,重点在于正确性和隔离性。编排器是一个独立的 Instrumentation 进程,为每个测试生成一个 Instrumentation 运行器进程并收集结果。
错误修复
- Espresso
- 改进了根视图同步,以显著减少不稳定性
- 修复了
IdlingResourceRegistry
的损坏 - 针对
IdlingResource
对象进行了更好的同步 - 问题 37132680:在执行下一个操作之前,Espresso 不会等待对话框创建完成
- 问题 37103280:Espresso 应该附带 ProGuard 使用者规则,以便使用者无需添加它们
- 问题 37094726:Espresso Intents 包含不必要的应用程序标签
- 问题 37093953:Espresso:没有可用的空/空错误文本检查
- 问题 37071776:
嵌入 Guava 的espresso-core
文件.pom
- 问题 37062612:
中的 NPErelease()
- 问题 37063389:将 Guava 和
作为espresso-web
依赖项无法编译androidTest
- 问题 37070533:在 Android Design Support Library 中添加对
NavigationView
的支持
- Runner
- 修复了结合使用
@UiThreadTest
和@Test(timeout = 123)
的能力 - 修复了
运行器参数-e notClass
- 修复了
以支持 JUnit3 和 JUnit4 测试套件,以及-e log
Parameterized
和Enclosed
运行器 - 问题 37663530:在每个测试方法之前和之后等待所有 Activity 完成
- 问题 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 或更低,则在空
EditText
对象上使用setText()
会抛出NullPointerException
其他值得注意的更改
- 二进制文件现在通过 Google Maven 发布
- 减小了
espresso-core
和espresso-web
JAR 文件的大小 – 嵌入式依赖项现在已应用 ProGuard - 所有
.aar
文件现在都包含 ProGuard 规则 - 将
proguard_library.cfg
文件添加到已发布的工件中
接口有一个新的Tapper
sendTap()
版本需要实现
外部贡献
- Espresso
- Runner
- 规则
Espresso 2.2.2,Runner/Rules 0.5(2016-02-22,静默发布)
新功能
- espresso
- 问题 194253:在 Android Support Design Library 中添加对 NavigationView 的支持
- 添加了对启用动画和转换的检查
- 新的
ViewMatcher
API:withResourceName()
错误修复
- espresso
- 问题 195331:
嵌入 Guava 的 pom 文件espresso-core
- 将计数空闲资源移出
espresso-contrib
- 问题 195331:
- rules
- 问题 187249:
中的 NPEIntents.release()
- 问题 187249:
- runner
- 问题 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)
新功能
- rules
- 添加新的
IntentsTestRule
构造函数,以完全兼容ActivityTestRule
- 添加新的
- runner
- 为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()
现在确保软键盘完全消失- 修复了API级别21及以上版本中Espresso的
Espresso.pressBack()
方法的同步问题 - 修复了API级别23上键盘关闭动画的同步问题
- rules
- 修复了API级别23上的
ServiceTestRule
,startService()
必须始终使用显式Intent
调用
- 修复了API级别23上的
- runner
- 修复了损坏的gradle
JaCoCo
支持 - 修复了损坏的测试分片支持
- 修复了
JUnit3
样式测试超时后测试运行器中不一致的状态
- 修复了损坏的gradle
其他值得注意的更改
- Javadoc修复和错误消息改进
- 忽略
suite()
方法,并在使用方法过滤器时不忽略初始化错误
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
重力支持
- rules 0.3
DisableOnAndroidDebug
规则
- runner 0.3
- 从JUnit v4.10升级到JUnit v4.12
- 迁移到使用Hamcrest v1.3
错误修复
- 修复了
DrawerActions
泄漏ParentListener
的问题 - 假设失败现在被视为忽略测试而不是失败测试
- 修复了
MonitoringInstrumentation
通过ExecutorService
泄漏活动实例的问题 - 修复了孤立活动卡在停止阶段的问题
- 更新
Until.scrollFinished()
,如果未生成滚动事件,则返回true。防止UiObject2#setText()
中潜在的NPE。
Espresso 2.1,测试运行器/规则 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
,在功能性UI测试中初始化和释放Espresso-Intents
- espresso-core
ViewActions
:添加了在运行操作之前运行全局断言的功能。这对于构建在Espresso之上的其他框架非常有用,可以在执行现有Espresso测试套件的同时验证视图层次结构的状态ViewMatchers.withContentDescription()
resId
重载
- rules
ActivityTestRule
:此规则提供单个活动的函数测试UiThreadRule
和UiThreadTest
注解:此规则允许使用UiThreadTest
注解的测试方法在应用程序的主线程(或UI线程)上执行ServiceTestRule
:此规则提供服务的函数测试
- runner
ApplicationLifecycleCallback
:用于监控应用程序生命周期事件的回调- 现在可以使用
<meta-data>
标签在Android清单文件中指定所有运行器参数
- UIAutomator
UiDevice.dumpWindowHierarchy()
现在可以接受File
或OutputStream
错误修复
- espresso
- 如果未找到列,游标匹配器现在返回
false
,以便Hamcrest可以继续到下一个游标 NullPointerException
与PreferenceMatchers
withTitle
不再发生- 注销空闲资源不再导致Espresso认为我们有繁忙的空闲资源
- 更新了Espresso Contrib使用的Support Annotations版本
- 如果未找到列,游标匹配器现在返回
- runner
AndroidJUnit4
现在跳过具有失败假设的测试
- UIAutomator
- 运行观察器以防止
StaleObjectException
- 运行观察器以防止
其他值得注意的更改
- 当我们无法使用非拉丁字符串键入文本时,添加更好的错误消息
UIAutomator 2.0 (2015-03-12)
UI Automator现在基于Android Instrumentation,您可以使用./gradlew connectedCheck
命令构建和运行测试。
Espresso 2.0版,测试运行器0.1版(发布日期:2014-12-19)
重大更改
- Espresso已迁移到新的命名空间,从
android.support.test.espresso
到android.support.test.espresso
- Espresso构件已重命名
espresso-1.1.jar
现在是espresso-core-release-2.0.jar
IdlingResource
接口已移动到单独的库中:espresso-idling-resource-release-2.0.jar
CountingIdlingResource
现在位于espresso-contrib-release-2.0.jar
中(它应该一直都在那里)
- 为了支持重新打包guava依赖项并避免DEX冲突(主要的开发难题来源),已从公共API中删除了可选项(guava依赖项)。受影响的方法包括以下内容
ViewAssertion.check()
HumanReadables.getViewHierarchyErrorMessage()
新功能
- 操作
ViewActions
replaceText()
openLink()
- 向上和向下滑动
- espresso-contrib
RecyclerViewActions
:处理与RecyclerView
的交互PickerActions
:处理与日期
和时间
选择器的交互
- 匹配器
RootMatchers
isPlatformPopup()
ViewMatchers
isJavascriptEnabled()
withSpinnerText()
withHint()
isSelected()
hasLinks()
LayoutMatchers
:用于与i18n相关的布局测试的匹配器CursorMatchers
:用于Cursor
对象的匹配器集合
- 断言
PositionAssertions
,包括isLeftOf()
和isAbove()
:用于检查屏幕上元素相对位置的ViewAssertions
集合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-01-08)
Espresso
- 新的
swipeLeft
和swipeRight
ViewActions
- 多窗口支持:一项高级功能,可用于选择Espresso应该在其上运行操作的目标窗口
- 对
TypeTextAction
的改进:允许将文本输入预聚焦视图,这使得追加文本更容易 - 许多错误修复
Espresso Contrib库
- 这个新的库包含补充Espresso但不是核心库一部分的功能
- 用于操作
DrawerLayout
的新DrawerActions
:依赖于Android支持库,因此我们将其保留在Espresso核心库之外
示例测试
- 这些测试已被重新定位到与测试应用程序相同的包中
- Maven POM已修复以删除重复的guava依赖项,因此
mvn install
现在应该可以工作了