测试

Android 中的测试。

此表列出了 androidx.test 组中的所有工件。

工件 稳定版 候选版本 Beta 版 Alpha 版
annotation 1.0.1 - - 1.1.0-alpha04
core 1.6.1 - - -
espresso 3.6.1 - - -
espresso-device 1.0.1 - - -
ext.junit 1.2.1 - - -
ext:junit-gtest - - - 1.0.0-alpha01
ext.truth 1.6.0 - - -
monitor 1.7.2 - - -
orchestrator 1.5.0 - - -
runner 1.6.2 - - -
rules 1.6.1 - - -
services 1.5.0 - - -
此库上次更新于:2024 年 8 月 14 日

声明依赖项

要添加对 androidx.test 的依赖项,您必须将 Google Maven 存储库添加到您的项目中。阅读Google 的 Maven 存储库以获取更多信息。

在应用或模块的 build.gradle 文件中添加所需工件的依赖项

Groovy

dependencies {
    // To use the androidx.test.core APIs
    androidTestImplementation "androidx.test:core:1.6.1"
    // Kotlin extensions for androidx.test.core
    androidTestImplementation "androidx.test:core-ktx:1.6.1"

    // To use the androidx.test.espresso
    androidTestImplementation "androidx.test.espresso:espresso-core:3.6.1"

    // To use the JUnit Extension APIs
    androidTestImplementation "androidx.test.ext:junit:1.2.1"
    // Kotlin extensions for androidx.test.ext.junit
    androidTestImplementation "androidx.test.ext:junit-ktx:1.2.1"

    // To use the Truth Extension APIs
    androidTestImplementation "androidx.test.ext:truth:1.6.0"

    // To use the androidx.test.runner APIs
    androidTestImplementation "androidx.test:runner:1.6.2"

    // To use android test orchestrator
    androidTestUtil "androidx.test:orchestrator:1.5.0"

}

Kotlin

dependencies {
    // To use the androidx.test.core APIs
    androidTestImplementation("androidx.test:core:1.6.1")
    // Kotlin extensions for androidx.test.core
    androidTestImplementation("androidx.test:core-ktx:1.6.1")

    // To use the androidx.test.espresso
    androidTestImplementation("androidx.test.espresso:espresso-core:3.6.1")

    // To use the JUnit Extension APIs
    androidTestImplementation("androidx.test.ext:junit:1.2.1")
    // Kotlin extensions for androidx.test.ext.junit
    androidTestImplementation("androidx.test.ext:junit-ktx:1.2.1")

    // To use the Truth Extension APIs
    androidTestImplementation("androidx.test.ext:truth:1.6.0")

    // To use the androidx.test.runner APIs
    androidTestImplementation("androidx.test:runner:1.6.2")

    // To use android test orchestrator
    androidTestUtil("androidx.test:orchestrator:1.5.0")
}

有关依赖项的更多信息,请参阅添加构建依赖项

反馈

您的反馈有助于改进 Jetpack。如果您发现新问题或有改进此库的想法,请告知我们。在创建新问题之前,请查看此库中现有的问题。您可以通过点击星形按钮为现有问题添加您的投票。

创建新问题

有关更多信息,请参阅问题跟踪器文档

Annotation 1.1.0

Annotation 1.1.0-alpha04

2024 年 4 月 26 日

androidx.test:annotation:1.1.0-alpha04} 已发布。

Annotation 1.1.0-alpha03

2024 年 1 月 26 日

androidx.test:annotation:1.1.0-alpha03} 已发布。

API 更改

  • 取消隐藏 ExperimentalTestApi

Annotation 1.1.0-alpha02

2023 年 11 月 29 日

androidx.test:annotation:1.1.0-alpha02} 已发布。

API 更改

  • minSdkVersion 现在为 19,targetSdkVersion 现在为 34

新功能

  • 工件现在已签名。有关更多详细信息,请参阅验证依赖项

Annotation 1.1.0-alpha01

2023 年 3 月 21 日

androidx.test:annotation:1.1.0-alpha01 已发布。

依赖项更改

  • 更新到 kotlin stdlib 1.7.22
  • 主要版本工具链更新:现在编译为 java8 字节码

Annotation 1.0.1

Annotation 1.0.1

2022年11月8日

androidx.test:annotation:1.0.1 已发布。

自 1.0.0 版本以来的更改包括

依赖项更改

  • 更新至 Kotlin stdlib 1.7.10

Annotation 1.0.1-rc01

2022年10月26日

androidx.test:annotation:1.0.1-rc01 已发布。

Annotation 1.0.1-beta01

2022年10月6日

androidx.test:annotation:1.0.1-beta01 已发布。

依赖项更改

  • 更新至 Kotlin stdlib 1.7.10

Annotation 1.0.1-alpha01

2022年6月1日

androidx.test:annotation:1.0.1-alpha01 已发布。

错误修复

  • 恢复使用 javac 11 以防止 IncompatibleClassChangeErrors [#1351]

Annotation 1.0.0

Annotation 1.0.0

2021年12月13日

androidx.test:annotation:1.0.0 已发布。

新的构件,目前供 androidx.test 内部使用。

Annotation 1.0.0-rc01

2021年11月18日

androidx.test:annotation:1.0.0-rc01 已发布。

Annotation 1.0.0-beta01

2021年11月8日

androidx.test:annotation:1.0.0-beta01 已发布。

Annotation 1.0.0-alpha02

2021年10月4日

androidx.test:annotation:1.0.0-alpha02 已发布。

Annotation 1.0.0-alpha01

2021年9月28日

androidx.test:annotation:1.0.0-alpha01 已发布。

API 更改

  • 添加新的 ExperimentalTestApi 和 InternalTestApi 注解

Core 1.6.1

Core Core-ktx 1.6.1

2024年6月26日

androidx.test:core:1.6.1androidx.test:core-ktx:1.6.1 已发布。

Core Core-ktx 1.6.0

2024年6月24日

androidx.test:core:1.6.0androidx.test:core-ktx:1.6.0 已发布。

自上次稳定版本 1.5.0 以来更改包括

API 更改

  • 添加了 ApplicationInfoBuilder.setFlags(int)
  • 添加新的低级屏幕截图 API:View.captureToBitmap、WindowCapture.captureToBitmap、Bitmap.writeToTestStorage 和 DeviceCapture.takeScreenshot 屏幕截图。

错误修复

  • 删除未使用的 androidx.test.annotation 依赖项
  • 修复使用 ActivityScenario#launchActivityForResult 和隐式 Intent 的问题
  • 更新 Activity Scenario 参考文档以修复丢失的链接
  • 删除对 Android SDK < 19 的所有支持。最低版本为 API 19(Android Kit Kat 4.4)
  • 参考文档清理 - 记录之前缺少的参数,修复链接等
  • 当 targetSdk >= 34 时,活动启动会自动选择加入以允许后台活动启动
  • 修复 ActivityScenario#recreate 期间 Activity#isChangingConfigurations 错误为 false 的问题

新功能

  • 工件现在已签名。有关更多详细信息,请参阅验证依赖项
  • 主要版本工具链更新:现在编译为 java8 字节码

Core Core-ktx 1.6.0-rc01

2024年5月30日

androidx.test:core:1.6.0-rc01androidx.test:core-ktx:1.6.0-rc01 已发布。

Core Core-ktx 1.6.0-beta01

2024年5月16日

androidx.test:core:1.6.0-beta01androidx.test:core-ktx:1.6.0-beta01 已发布。

错误修复

  • 删除未使用的 androidx.test.annotation 依赖项
  • 恢复到 androidx.concurrent 1.1.0

Core Core-ktx 1.6.0-alpha06

2024 年 4 月 26 日

androidx.test:core:1.6.0-alpha06androidx.test:core-ktx:1.6.0-alpha06 已发布。

错误修复

  • 使 ViewCapture 使用 ControlledLooper API 而不是硬编码 Robolectric 检查
  • 修复使用 ActivityScenario#launchActivityForResult 和隐式 Intent 的问题

API 更改

  • 添加了 ApplicationInfoBuilder.setFlags(int)
  • 创建 ViewCapture/WindowCapture/DeviceCapture API 的挂起函数版本,
    并将现有方法重命名为返回 ListenableFutures 的 *Async 变体
  • 使 Bitmap.writeToTestStorage 使用注册的 PlatformTestStorage 而不是硬编码 TestStorage
  • 从 captureToBitmap 和 takeScreenshot API 中删除 ExperimentalTestApi/RequiresOptIn 限制

Core Core-ktx 1.6.0-alpha05

2024 年 1 月 26 日

androidx.test:core:1.6.0-alpha05androidx.test:core-ktx:1.6.0-alpha05 已发布。

错误修复

  • 更新 Activity Scenario 参考文档以修复丢失的链接
  • 删除对 Android SDK < 19 的所有支持。最低版本为 API 19(Android Kit Kat 4.4)
  • 参考文档清理 - 记录之前缺少的参数,修复链接等

Core Core-ktx 1.6.0-alpha04

2023年12月5日

androidx.test:core:1.6.0-alpha04androidx.test:core-ktx:1.6.0-alpha04 已发布。

错误修复

  • 当 targetSdk >= 34 时,活动启动会自动选择加入以允许后台活动启动

Core Core-ktx 1.6.0-alpha03

2023 年 11 月 29 日

androidx.test:core:1.6.0-alpha03androidx.test:core-ktx:1.6.0-alpha03 已发布。

错误修复

  • 修复 targetSdk = 34 时 ActivityScenario.launchActivityWithResult 的问题

API 更改

  • targetSdkVersion 现在为 34

新功能

  • 工件现在已签名。有关更多详细信息,请参阅验证依赖项

Core Core-ktx 1.6.0-alpha02

2023年9月18日

androidx.test:core:1.6.0-alpha02androidx.test:core-ktx:1.6.0-alpha02 已发布。

**功能** * 更新 ViewCapture 以接受可选的 Rect,以便它可以用于 Compose。

错误修复

  • 修复 ActivityScenario#recreate 期间 Activity#isChangingConfigurations 错误为 false 的问题
  • 将 UiAutomation#takeScreenshot 调用移出主线程。
  • 修复 API >= 26 上对话框内的 View 的 captureToBitmap。

**依赖项更改** * minSdkVersion 现在为 19

Core Core-ktx 1.6.0-alpha01

2023 年 3 月 21 日

androidx.test:core:1.6.0-alpha01androidx.test:core-ktx:1.6.0-alpha01 已发布。

**功能** * 为 ViewCapture.captureToBitmap 添加了对 Robolectric 的初步支持

错误修复

  • 修复 DecorView 的 captureToBitmap
  • 尝试通过重试 takeScreenshot 来提高 DeviceCapture 的可靠性

依赖项更改

  • 更新到 kotlin stdlib 1.7.22
  • 主要版本工具链更新:现在编译为 java8 字节码
  • 更新到 androidx.test:monitor:1.70-alpha01

Core 1.5.0

Core Core-ktx 1.5.0

2022年11月8日

androidx.test:core:1.5.0androidx.test:core-ktx:1.5.0 已发布。

自 1.4.0 版本以来的更改包括

新功能

  • 记录 ActivityScenario 启动和关闭的 Android Trace 跨度。
  • 添加用于屏幕截图的新实验性 API。这些 API 将根据平台 API 级别自动选择最高保真度以进行屏幕截图,并支持自动化测试设备 (ATD) 模拟器映像。
    • View.captureToBitmap 扩展函数
    • Window.captureRegionToBitmap 扩展函数
    • takeScreenshot()
  • 添加实验性 Bitmap.writeToTestStorage API

API 更改

  • 添加 ActivityScenario#launchActivityForResult API 并修改 ActivityScenario#launch 以删除对 Bootstrap Activity API 的使用。此更改应提高 ActivityScenario#launch 的性能和稳定性。ActivityScenario#getResult 现在将强制执行它只能与 ActivityScenario#launchActivityForResult 一起使用

错误修复

  • 修复以 Android 33 为目标并在其上运行时的 ActivityScenario#launch
  • 使用 elapsedRealtime 而不是 currentTimeMillis 来跟踪 ActivityScenario 超时。
  • 修复 ActivityScenario 在自检测测试中从具有包名称的 Intent 启动 Activity 的问题。
  • 通过在内部 Activity 中使用纯白色背景并禁用过渡动画来减少 ActivityScenario 开销

依赖项更改

  • 更新到
    • kotlin stdlib 1.7.10
    • androidx.lifecycle:lifecycle-common:2.3.1
    • androidx.annotation:annotation:1.2.0
  • 添加
    • androidx.test.services:storage:1.4.2
    • com.google.guava:listenablefuture:1.0
    • androidx.concurrent:concurrent-futures:1.1.0

Core Core-ktx 1.5.0-rc01

2022年10月26日

androidx.test:core:1.5.0-rc01androidx.test:core-ktx:1.5.0-rc01 已发布。

Core Core-ktx 1.5.0-beta01

2022年10月6日

androidx.test:core:1.5.0-beta01androidx.test:core-ktx:1.5.0-beta01 已发布。

API 更改

  • 使用 NonNull/Nullable 对新 API 进行注释

Core Core-ktx 1.5.0-alpha02

2022年8月22日

androidx.test:core:1.5.0-alpha02androidx.test:core-ktx:1.5.0-alpha02 已发布。

API 更改

  • 修改 ActivityScenario#launch 以删除对 Bootstrap Activity API 的使用。此更改应提高 ActivityScenario#launch 的性能和稳定性。ActivityScenario#getResult 现在将强制执行它只能与 ActivityScenario#launchActivityForResult 一起使用

错误修复

  • 修复以 Android T 为目标并在其上运行时的 ActivityScenario#launch
  • 使用 elapsedRealtime 而不是 currentTimeMillis 来跟踪 ActivityScenario 超时。

依赖项更改

  • 更新至 Kotlin stdlib 1.7.10

Core Core-ktx 1.5.0-alpha01

2022年6月21日

androidx.test:core:1.5.0-alpha01androidx.test:core-ktx:1.5.0-alpha01 已发布。

API 更改

  • 添加 ActivityScenario#launchActivityForResult API。此 API 将在检索活动结果时替换 ActivityScenario#launch 的使用。

Core 1.4.1

Core Core-ktx 1.4.1-alpha07

2022年6月1日

androidx.test:core:1.4.1-alpha07androidx.test:core-ktx:1.4.1-alpha07 已发布。

错误修复

  • 恢复使用 javac 11 以防止 IncompatibleClassChangeErrors [#1351]

依赖项更改

  • 更新到 Kotlin stdlib 1.6.21

Core Core-ktx 1.4.1-alpha06

2022年4月28日

androidx.test:core:1.4.1-alpha06androidx.test:core-ktx:1.4.1-alpha06 已发布。

**错误修复** * 修复 ActivityScenario 在自检测测试中从具有包名称的 Intent 启动 Activity 的问题。

Core Core-ktx 1.4.1-alpha05

2022年3月21日

androidx.test:core:1.4.1-alpha05androidx.test:core-ktx:1.4.1-alpha05 已发布。

Core Core-ktx 1.4.1-alpha04

2022年2月11日

androidx.test:core:1.4.1-alpha04androidx.test:core-ktx:1.4.1-alpha04 已发布。

新功能

  • 记录 ActivityScenario 启动和关闭的 Android Trace 跨度。

依赖项更改

  • 添加 androidx.tracing 依赖项
  • 更新到 Kotlin stdlib 1.6.10

Core Core-ktx 1.4.1-alpha03

2021年10月4日

androidx.test:core:1.4.1-alpha03androidx.test:core-ktx:1.4.1-alpha03 已发布。

错误修复

  • 修复 View.captureToBitmap 和 Window.captureRegionToBitmap 扩展的可见性
  • 为 Bitmap.writeToTestStorage 和屏幕截图方法添加更清晰的异常处理

Core Core-ktx 1.4.1-alpha02

2021年9月28日

androidx.test:core:1.4.1-alpha02androidx.test:core-ktx:1.4.1-alpha02 已发布。

新功能

  • 添加用于屏幕截图的新实验性 API
    • View.captureToBitmap 扩展函数
    • Window.captureRegionToBitmap 扩展函数
    • takeScreenshot()
  • 添加实验性 Bitmap.writeToTestStorage API

依赖项更改

  • 添加对以下内容的依赖项:
    • kotlin stdlib 1.5.31
    • androidx.test.services:storage:1.4.1-alpha02
    • com.google.guava:listenablefuture:1.0
    • androidx.concurrent:concurrent-futures:1.1.0
  • 更新依赖项版本到
    • androidx.lifecycle:lifecycle-common:2.3.1
    • androidx.annotation:annotation:1.2.0

Core Core-ktx 1.4.1-alpha01

2021年8月23日

androidx.test:core:1.4.1-alpha01androidx.test:core-ktx:1.4.1-alpha01 已发布。

错误修复

  • 通过在内部 Activity 中使用纯白色背景并禁用过渡动画来减少 ActivityScenario 开销

依赖项更改

  • -ktx: 显式依赖于 Kotlin stdlib 1.4.30

Espresso 3.6.1

Espresso 3.6.1

2024年6月26日

已发布以下构件

  • androidx.test.espresso:espresso-accessibility:3.6.1
  • androidx.test.espresso:espresso-core:3.6.1
  • androidx.test.espresso:espresso-contrib:3.6.1
  • androidx.test.espresso:espresso-idling-resource:3.6.1
  • androidx.test.espresso:espresso-intents:3.6.1
  • androidx.test.espresso:espresso-remote:3.6.1
  • androidx.test.espresso:espresso-web:3.6.1
  • androidx.test.espresso.idling:idling-concurrent:3.6.1
  • androidx.test.espresso.idling:idling-net:3.6.1

错误修复

  • 将 accessibilitytestframework 版本(返回)升级到 3.1.2。

Espresso 3.6.0

2024年6月24日

已发布以下构件

  • androidx.test.espresso:espresso-accessibility:3.6.0
  • androidx.test.espresso:espresso-core:3.6.0
  • androidx.test.espresso:espresso-contrib:3.6.0
  • androidx.test.espresso:espresso-idling-resource:3.6.0
  • androidx.test.espresso:espresso-intents:3.6.0
  • androidx.test.espresso:espresso-remote:3.6.0
  • androidx.test.espresso:espresso-web:3.6.0
  • androidx.test.espresso.idling:idling-concurrent:3.6.0
  • androidx.test.espresso.idling:idling-net:3.6.0

自上次稳定版本 3.5.1 以来更改包括

错误修复

  • 删除未使用的 androidx.test.annotation 依赖项
  • 修复 Robolectric 中缓慢的 inRoot 操作
  • 始终如一地使用 PlatformTestStorageRegistry.getInstance 而不是传递引用
  • 从 InteractionResponse 公共参考文档中删除 TODO
  • 修复 AdapterDataLoaderAction 错误消息中的错别字
  • 用 Java 集合和内联替换 guava 的使用
  • 参考文档清理 - 记录之前缺少的参数,修复链接等
  • 删除对 Android SDK < 19 的所有支持。最低版本为 API 19(Android Kit Kat 4.4)
  • 在非远程模式下运行时停止将空任务发布到后台线程。
  • 更好地处理 DefaultFailureHandler 的层次结构捕获和屏幕截图过程中可能发生的异常。
  • 修复 IsPlatformPopup 的描述以匹配行为。
  • 修复使用错误坐标的已弃用的 obtainMovement 实现。
  • 用 @link 替换指向 junit.org javadoc 的损坏链接。

API 更改

  • 添加 ViewActions.captureToBitmap
  • 将 waitForClose 添加到 DrawerActions。
  • 将生成的 IInteractionExecutionStatus 类标记为 RestrictTo LIBRARY_GROUP
  • 从 RuntimePermissionStubber 中删除 ExperimentalTestApi
  • 添加新的 IsActivatedMatcher 以验证它是否处于激活状态。
  • 使 Espresso.onIdle() 在主线程上工作,以便允许从主线程清空主线程。
  • minSdkVersion 现在为 19,targetSdkVersion 现在为 34
  • 添加 scrollTo 变体,允许滚动到 90+% 显示的视图
  • 弃用 EspressoOptional,改为使用 @Nullable。
  • 允许自定义 Espresso 的默认失败处理程序以禁用失败时的屏幕截图

新功能

  • 工件现在已签名。有关更多详细信息,请参阅验证依赖项
  • 主要版本工具链更新
    • 类现在编译为 Java 8 字节码
    • javac 编译器切换到 OpenJDK 17。这应该可以解决 IncompatibleClassChangeErrors (https://github.com/android/android-test/issues/1642)
    • 删除内部 guava 使用,这导致二进制文件大小减小
    • 不再对发布的 aar 进行混淆

Espresso 3.6.0-rc01

2024年5月30日

已发布以下构件

  • androidx.test.espresso:espresso-accessibility:3.6.0-rc01
  • androidx.test.espresso:espresso-core:3.6.0-rc01
  • androidx.test.espresso:espresso-contrib:3.6.0-rc01
  • androidx.test.espresso:espresso-idling-resource:3.6.0-rc01
  • androidx.test.espresso:espresso-intents:3.6.0-rc01
  • androidx.test.espresso:espresso-remote:3.6.0-rc01
  • androidx.test.espresso:espresso-web:3.6.0-rc01
  • androidx.test.espresso.idling:idling-concurrent:3.6.0-rc01
  • androidx.test.espresso.idling:idling-net:3.6.0-rc01

Espresso 3.6.0-beta01

2024年5月16日

已发布以下构件

  • androidx.test.espresso:espresso-accessibility:3.6.0-beta01
  • androidx.test.espresso:espresso-core:3.6.0-beta01
  • androidx.test.espresso:espresso-contrib:3.6.0-beta01
  • androidx.test.espresso:espresso-idling-resource:3.6.0-beta01
  • androidx.test.espresso:espresso-intents:3.6.0-beta01
  • androidx.test.espresso:espresso-remote:3.6.0-beta01
  • androidx.test.espresso:espresso-web:3.6.0-beta01
  • androidx.test.espresso.idling:idling-concurrent:3.6.0-beta01
  • androidx.test.espresso.idling:idling-net:3.6.0-beta01

错误修复

  • 删除未使用的 androidx.test.annotation 依赖项

Espresso 3.6.0-alpha04

2024 年 4 月 26 日

已发布以下构件

  • androidx.test.espresso:espresso-accessibility:3.6.0-alpha04
  • androidx.test.espresso:espresso-core:3.6.0-alpha04
  • androidx.test.espresso:espresso-contrib:3.6.0-alpha04
  • androidx.test.espresso:espresso-idling-resource:3.6.0-alpha04
  • androidx.test.espresso:espresso-intents:3.6.0-alpha04
  • androidx.test.espresso:espresso-remote:3.6.0-alpha04
  • androidx.test.espresso:espresso-web:3.6.0-alpha04
  • androidx.test.espresso.idling:idling-concurrent:3.6.0-alpha04
  • androidx.test.espresso.idling:idling-net:3.6.0-alpha04

错误修复

  • 修复 Robolectric 中缓慢的 inRoot 操作
  • 始终如一地使用 PlatformTestStorageRegistry.getInstance 而不是传递引用
  • 从 InteractionResponse 公共参考文档中删除 TODO

新功能

  • 将 waitForClose 添加到 DrawerActions。

API 更改

  • 适配 ViewCapture API 更改
  • 删除 ViewInteraction.captureToBitmap,转而使用 ViewActions.captureToBitmap,并将该 API 从 ExperimentalTestApi 提升为稳定 API

Espresso 3.6.0-alpha03

2024 年 1 月 26 日

已发布以下构件

  • androidx.test.espresso:espresso-accessibility:3.6.0-alpha03
  • androidx.test.espresso:espresso-core:3.6.0-alpha03
  • androidx.test.espresso:espresso-contrib:3.6.0-alpha03
  • androidx.test.espresso:espresso-idling-resource:3.6.0-alpha03
  • androidx.test.espresso:espresso-intents:3.6.0-alpha03
  • androidx.test.espresso:espresso-remote:3.6.0-alpha03
  • androidx.test.espresso:espresso-web:3.6.0-alpha03
  • androidx.test.espresso.idling:idling-concurrent:3.6.0-alpha03
  • androidx.test.espresso.idling:idling-net:3.6.0-alpha03

错误修复

  • 修复 AdapterDataLoaderAction 错误消息中的错别字
  • 从 Espresso 的 Java 代码中移除 Kotlin collect stdlib 调用
  • 参考文档清理 - 记录之前缺少的参数,修复链接等
  • 从 Java 代码中移除 Kotlin StringKt 调用
  • 删除对 Android SDK < 19 的所有支持。最低版本为 API 19(Android Kit Kat 4.4)
  • 在非远程模式下运行时停止将空任务发布到后台线程。
  • 更好地处理 DefaultFailureHandler 的层次结构捕获和屏幕截图过程中可能发生的异常。

API 更改

  • 将生成的 IInteractionExecutionStatus 类标记为 RestrictTo LIBRARY_GROUP
  • 从 RuntimePermissionStubber 中删除 ExperimentalTestApi

Espresso 3.6.0-alpha02

2023 年 11 月 29 日

已发布以下构件

  • androidx.test.espresso:espresso-accessibility:3.6.0-alpha02
  • androidx.test.espresso:espresso-core:3.6.0-alpha02
  • androidx.test.espresso:espresso-contrib:3.6.0-alpha02
  • androidx.test.espresso:espresso-idling-resource:3.6.0-alpha02
  • androidx.test.espresso:espresso-intents:3.6.0-alpha02
  • androidx.test.espresso:espresso-remote:3.6.0-alpha02
  • androidx.test.espresso:espresso-web:3.6.0-alpha02
  • androidx.test.espresso.idling:idling-concurrent:3.6.0-alpha02
  • androidx.test.espresso.idling:idling-net:3.6.0-alpha02

错误修复

  • 修复 IsPlatformPopup 的描述以匹配行为。
  • 修复使用错误坐标的已弃用的 obtainMovement 实现。
  • 用 @link 替换指向 junit.org javadoc 的损坏链接。

API 更改

  • 添加新的 IsActivatedMatcher 以验证它是否处于激活状态。
  • 使 Espresso.onIdle() 在主线程上工作,以便允许从主线程清空主线程。
  • minSdkVersion 现在为 19,targetSdkVersion 现在为 34
  • 添加 scrollTo 变体,允许滚动到 90+% 显示的视图

新功能

  • 工件现在已签名。有关更多详细信息,请参阅验证依赖项

Espresso 3.6.0-alpha01

2023 年 3 月 21 日

已发布以下构件

  • androidx.test.espresso:espresso-accessibility:3.6.0-alpha01
  • androidx.test.espresso:espresso-core:3.6.0-alpha01
  • androidx.test.espresso:espresso-contrib:3.6.0-alpha01
  • androidx.test.espresso:espresso-idling-resource:3.6.0-alpha01
  • androidx.test.espresso:espresso-intents:3.6.0-alpha01
  • androidx.test.espresso:espresso-remote:3.6.0-alpha01
  • androidx.test.espresso:espresso-web:3.6.0-alpha01
  • androidx.test.espresso.idling:idling-concurrent:3.6.0-alpha01
  • androidx.test.espresso.idling:idling-net:3.6.0-alpha01

API 更改

  • 弃用 EspressoOptional,改为使用 @Nullable。
  • 允许自定义 Espresso 的默认失败处理程序以禁用失败时的屏幕截图

依赖项更改

  • 更新到 androidx.test:monitor:1.7.0-alpha01、androidx.test:core:1.6.0-alpha01 和 androidx.test:runner:1.6.0-alpha01
  • 更新到 kotlin stdlib 1.7.22
  • 主要版本工具链更新
    • 类现在编译为 Java 8 字节码
    • javac 编译器切换到 OpenJDK 11。这应该可以解决 IncompatibleClassChangeErrors(https://github.com/android/android-test/issues/1642)
    • 使用 kotlin stdlib 移除内部 guava 的使用,这导致二进制文件大小减小
    • 不再对发布的 aar 进行混淆

Espresso 3.5.0

Espresso 3.5.1

2023年1月3日

已发布以下构件

  • androidx.test.espresso:espresso-accessibility:3.5.1
  • androidx.test.espresso:espresso-core:3.5.1
  • androidx.test.espresso:espresso-contrib:3.5.1
  • androidx.test.espresso:espresso-idling-resource:3.5.1
  • androidx.test.espresso:espresso-intents:3.5.1
  • androidx.test.espresso:espresso-remote:3.5.1
  • androidx.test.espresso:espresso-web:3.5.1
  • androidx.test.espresso.idling:idling-concurrent:3.5.1
  • androidx.test.espresso.idling:idling-net:3.5.1

错误修复

  • 参考文档清理:更正参数名称并从 IdlingThreadPoolExecutor 和 UriIdlingResource 中删除过时的“beta”语句

依赖项更改

  • 更新到 androidx.test:monitor:1.6.1 以支持在 Espresso 测试失败时保存屏幕截图,无需测试存储

Espresso 3.5.0

2022年11月8日

已发布以下构件

  • androidx.test.espresso:espresso-accessibility:3.5.0
  • androidx.test.espresso:espresso-core:3.5.0
  • androidx.test.espresso:espresso-contrib:3.5.0
  • androidx.test.espresso:espresso-idling-resource:3.5.0
  • androidx.test.espresso:espresso-intents:3.5.0
  • androidx.test.espresso:espresso-remote:3.5.0
  • androidx.test.espresso:espresso-web:3.5.0
  • androidx.test.espresso.idling:idling-concurrent:3.5.0
  • androidx.test.espresso.idling:idling-net:3.5.0

新功能

  • 记录 Espresso 操作的 Android Trace 跨度
  • Espresso 的 DefaultFailureHandler 现在会在测试失败时将屏幕截图保存到 TestStorage
  • 添加实验性 ViewInteraction.captureToBitmap 扩展函数
  • 在失败时将视图层次结构保存到文件

API 更改

  • 将 ViewMatchers hasTextColor 和 hasBackground 提升为稳定 API
  • 添加 IntentsRule
  • 为 IntentMatchers.hasExtraWithKey() 和 BundleMatchers.hasKey() 添加反向匹配器
  • 添加一个 ViewAction,用于滚动到 RecyclerView 中的最后一个位置。
  • 添加 IntentMatcher.hasExtra API

错误修复

  • 在向上事件中保留工具类型
  • 使 IdlingRegistry 更线程安全。
  • 支持其他视图的 scrollTo()
  • 在 Robolectric 上,移除 Espresso 每次交互时不必要的 interruptEspressoTasks 警告日志。
  • 在 Robolectric 下运行时移除 CloseKeyboardAction 中的超时
  • 对输入手势注入使用一致的 InputDevice 源
  • 支持在 Espresso Intents 中模拟 ActivityNotFoundExceptions。
  • 当异常消息中的视图层次结构过大时截断它。
  • 显示歧义匹配视图的数量和列表。
  • 验证 onView.check/perform() 是否在 UI 线程上调用

依赖项更改

  • 更新到
    • kotlin stdlib 1.7.10
    • jsr305:2.0.2
    • tagsoup:1.2.1
    • androidx.annotation:1.2.0
  • contrib
    • 更新到 drawer 1.1.1、recycler view 1.2.1、material 1.4.0

Espresso 3.5.0-rc01

2022年10月26日

已发布以下构件

  • androidx.test.espresso:espresso-accessibility:3.5.0-rc01
  • androidx.test.espresso:espresso-core:3.5.0-rc01
  • androidx.test.espresso:espresso-contrib:3.5.0-rc01
  • androidx.test.espresso:espresso-idling-resource:3.5.0-rc01
  • androidx.test.espresso:espresso-intents:3.5.0-rc01
  • androidx.test.espresso:espresso-remote:3.5.0-rc01
  • androidx.test.espresso:espresso-web:3.5.0-rc01
  • androidx.test.espresso.idling:idling-concurrent:3.5.0-rc01
  • androidx.test.espresso.idling:idling-net:3.5.0-rc01

Espresso 3.5.0-beta02

2022年10月21日

已发布以下构件

  • androidx.test.espresso:espresso-accessibility:3.5.0-beta02
  • androidx.test.espresso:espresso-core:3.5.0-beta02
  • androidx.test.espresso:espresso-contrib:3.5.0-beta02
  • androidx.test.espresso:espresso-idling-resource:3.5.0-beta02
  • androidx.test.espresso:espresso-intents:3.5.0-beta02
  • androidx.test.espresso:espresso-remote:3.5.0-beta02
  • androidx.test.espresso:espresso-web:3.5.0-beta02
  • androidx.test.espresso.idling:idling-concurrent:3.5.0-beta02
  • androidx.test.espresso.idling:idling-net:3.5.0-beta02

API 更改

  • 将 ViewMatchers hasTextColor 和 hasBackground 提升为稳定 API

错误修复

  • 修复 scrollTo 中的 recyclerview ClassNotFoundExceptions

依赖项更改

Espresso 3.5.0-beta01

2022年10月6日

已发布以下构件

  • androidx.test.espresso:espresso-accessibility:3.5.0-beta01
  • androidx.test.espresso:espresso-core:3.5.0-beta01
  • androidx.test.espresso:espresso-contrib:3.5.0-beta01
  • androidx.test.espresso:espresso-idling-resource:3.5.0-beta01
  • androidx.test.espresso:espresso-intents:3.5.0-beta01
  • androidx.test.espresso:espresso-remote:3.5.0-beta01
  • androidx.test.espresso:espresso-web:3.5.0-beta01
  • androidx.test.espresso.idling:idling-concurrent:3.5.0-beta01
  • androidx.test.espresso.idling:idling-net:3.5.0-beta01

API 更改

  • 使用 NonNull/Nullable 注解 3.4.0 之后引入的新 API
  • 添加 IntentsRule API

错误修复

  • 使 IdlingRegistry 更线程安全。
  • 支持其他视图的 scrollTo()

依赖项更改

  • 更新至 Kotlin stdlib 1.7.10
  • 更新到 jsr305:2.0.2
  • 更新到 tagsoup:1.2.1

Espresso 3.5.0-alpha07

2022年6月1日

已发布以下构件

  • androidx.test.espresso:espresso-accessibility:3.5.0-alpha07
  • androidx.test.espresso:espresso-core:3.5.0-alpha07
  • androidx.test.espresso:espresso-contrib:3.5.0-alpha07
  • androidx.test.espresso:espresso-idling-resource:3.5.0-alpha07
  • androidx.test.espresso:espresso-intents:3.5.0-alpha07
  • androidx.test.espresso:espresso-remote:3.5.0-alpha07
  • androidx.test.espresso:espresso-web:3.5.0-alpha07
  • androidx.test.espresso.idling:idling-concurrent:3.5.0-alpha07
  • androidx.test.espresso.idling:idling-net:3.5.0-alpha07

错误修复

  • 恢复使用 javac 11 以防止 IncompatibleClassChangeErrors [#1351]

依赖项更改

  • 更新到 Kotlin stdlib 1.6.21

Espresso 3.5.0-alpha06

2022年4月28日

已发布以下构件

  • androidx.test.espresso:espresso-accessibility:3.5.0-alpha06
  • androidx.test.espresso:espresso-core:3.5.0-alpha06
  • androidx.test.espresso:espresso-contrib:3.5.0-alpha06
  • androidx.test.espresso:espresso-idling-resource:3.5.0-alpha06
  • androidx.test.espresso:espresso-intents:3.5.0-alpha06
  • androidx.test.espresso:espresso-remote:3.5.0-alpha06
  • androidx.test.espresso:espresso-web:3.5.0-alpha06
  • androidx.test.espresso.idling:idling-concurrent:3.5.0-alpha06
  • androidx.test.espresso.idling:idling-net:3.5.0-alpha06

错误修复

  • 移除 Robolectric 上 Espresso 每次交互时不必要的 interruptEspressoTasks 警告日志。

Espresso 3.5.0-alpha05

2022年3月21日

已发布以下构件

  • androidx.test.espresso:espresso-accessibility:3.5.0-alpha05
  • androidx.test.espresso:espresso-core:3.5.0-alpha05
  • androidx.test.espresso:espresso-contrib:3.5.0-alpha05
  • androidx.test.espresso:espresso-idling-resource:3.5.0-alpha05
  • androidx.test.espresso:espresso-intents:3.5.0-alpha05
  • androidx.test.espresso:espresso-remote:3.5.0-alpha05
  • androidx.test.espresso:espresso-web:3.5.0-alpha05
  • androidx.test.espresso.idling:idling-concurrent:3.5.0-alpha05
  • androidx.test.espresso.idling:idling-net:3.5.0-alpha05

错误修复

  • 在 Robolectric 下运行时移除 CloseKeyboardAction 中的超时

Espresso 3.5.0-alpha04

2022年2月11日

已发布以下构件

  • androidx.test.espresso:espresso-accessibility:3.5.0-alpha04
  • androidx.test.espresso:espresso-core:3.5.0-alpha04
  • androidx.test.espresso:espresso-contrib:3.5.0-alpha04
  • androidx.test.espresso:espresso-idling-resource:3.5.0-alpha04
  • androidx.test.espresso:espresso-intents:3.5.0-alpha04
  • androidx.test.espresso:espresso-remote:3.5.0-alpha04
  • androidx.test.espresso:espresso-web:3.5.0-alpha04
  • androidx.test.espresso.idling:idling-concurrent:3.5.0-alpha04
  • androidx.test.espresso.idling:idling-net:3.5.0-alpha04

API 更改

  • 为 IntentMatchers.hasExtraWithKey() 和 BundleMatchers.hasKey() 添加反向匹配器
  • 添加一个 ViewAction,用于滚动到 RecyclerView 中的最后一个位置。

新功能

  • 记录 Espresso 操作的 Android Trace 跨度

错误修复

  • 对输入手势注入使用一致的 InputDevice 源
  • 支持在 Espresso Intents 中模拟 ActivityNotFoundExceptions。
  • 当异常消息中的视图层次结构过大时截断它。
  • 显示歧义匹配视图的数量和列表。

依赖项更改

  • 更新到 Kotlin stdlib 1.6.10

Espresso 3.5.0-alpha03

2021年10月4日

已发布以下构件

  • androidx.test.espresso:espresso-accessibility:3.5.0-alpha03
  • androidx.test.espresso:espresso-core:3.5.0-alpha03
  • androidx.test.espresso:espresso-contrib:3.5.0-alpha03
  • androidx.test.espresso:espresso-idling-resource:3.5.0-alpha03
  • androidx.test.espresso:espresso-intents:3.5.0-alpha03
  • androidx.test.espresso:espresso-remote:3.5.0-alpha03
  • androidx.test.espresso:espresso-web:3.5.0-alpha03
  • androidx.test.espresso.idling:idling-concurrent:3.5.0-alpha03
  • androidx.test.espresso.idling:idling-net:3.5.0-alpha03

新功能

  • Espresso 的 DefaultFailureHandler 现在会在测试失败时将屏幕截图保存到 TestStorage

错误修复

  • 修复 ViewInteraction.captureToBitmap 的可见性和功能
  • 验证 onView.check/perform() 是否在 UI 线程上调用

Espresso 3.5.0-alpha02

2021年9月28日

已发布以下构件

  • androidx.test.espresso:espresso-accessibility:3.5.0-alpha02
  • androidx.test.espresso:espresso-core:3.5.0-alpha02
  • androidx.test.espresso:espresso-contrib:3.5.0-alpha02
  • androidx.test.espresso:espresso-idling-resource:3.5.0-alpha02
  • androidx.test.espresso:espresso-intents:3.5.0-alpha02
  • androidx.test.espresso:espresso-remote:3.5.0-alpha02
  • androidx.test.espresso:espresso-web:3.5.0-alpha02
  • androidx.test.espresso.idling:idling-concurrent:3.5.0-alpha02
  • androidx.test.espresso.idling:idling-net:3.5.0-alpha02

新功能

  • 添加实验性 ViewInteraction.captureToBitmap 扩展函数

依赖项更改

  • 全部
    • 更新到 androidx.annotation:1.2.0
  • core
    • 更新到 kotlin stdlib 1.5.31
  • contrib
    • 更新到 drawer 1.1.1、recycler view 1.2.1、materual 1.4.0

Espresso 3.5.0-alpha01

2021年8月23日

已发布以下构件

  • androidx.test.espresso:espresso-accessibility:3.5.0-alpha01
  • androidx.test.espresso:espresso-core:3.5.0-alpha01
  • androidx.test.espresso:espresso-contrib:3.5.0-alpha01
  • androidx.test.espresso:espresso-idling-resource:3.5.0-alpha01
  • androidx.test.espresso:espresso-intents:3.5.0-alpha01
  • androidx.test.espresso:espresso-remote:3.5.0-alpha01
  • androidx.test.espresso:espresso-web:3.5.0-alpha01
  • androidx.test.espresso.idling:idling-concurrent:3.5.0-alpha01
  • androidx.test.espresso.idling:idling-net:3.5.0-alpha01

新功能

  • 在失败时将视图层次结构保存到文件

API 更改

  • 添加 IntentMatcher.hasExtra API

依赖项更改

  • 核心:依赖于 kotlin stdlib 1.4.30

Espresso Device 1.0.1

Espresso Device 1.0.1

2024年6月26日

发布了 androidx.test.espresso:espresso-device:1.0.1

Espresso Device 1.0.0

2024年6月24日

发布了 androidx.test.espresso:espresso-device:1.0.0

初始版本!

新功能

  • 用于旋转和折叠设备的 API
  • 用于根据设备模式和显示屏过滤测试的 API

Espresso Device 1.0.0-rc01

2024年5月30日

发布了 androidx.test.espresso:espresso-device:1.0.0-rc01

错误修复

  • 添加了对使用多个已恢复 Activity 设置屏幕方向的支持
  • 修复了设置屏幕方向和折叠模式时的并发修改问题

Espresso Device 1.0.0-beta01

2024年5月16日

发布了 androidx.test.espresso:espresso-device:1.0.0-beta01

错误修复

  • 删除未使用的 androidx.test.annotation 依赖项

Espresso Device 1.0.0-alpha09

2024 年 4 月 26 日

发布了 androidx.test.espresso:espresso-device:1.0.0-alpha09

**错误修复** * 澄清了在没有已恢复 Activity 的情况下设置屏幕方向的错误消息 * 支持在半折叠的 API 34 物理设备上设置屏幕方向

API 更改

  • 使 ScreenOrientationRule 的 defaultOrientation 参数可选

Espresso Device 1.0.0-alpha08

2024 年 1 月 26 日

发布了 androidx.test.espresso:espresso-device:1.0.0-alpha08

错误修复

  • 添加了当进程没有 INTERNET 权限时更好的错误消息
  • 使 Espresso Device 文档中的异常类引用可点击链接

**API 更改** * 从 androidx.test.filter.CustomFilter 中移除 ExperimentalTestApi

Espresso Device 1.0.0-alpha07

2023 年 11 月 29 日

发布了 androidx.test.espresso:espresso-device:1.0.0-alpha07

API 更改

  • 支持在物理设备上设置设备模式

新功能

  • 工件现在已签名。有关更多详细信息,请参阅验证依赖项

Espresso Device 1.0.0-alpha06

2023年9月18日

已发布以下构件

  • androidx.test.espresso:espresso-device:1.0.0-alpha06

**API 更改** * 支持在打开的物理设备上设置屏幕方向 * 移除 ActionContext 接口

**依赖项更改** * minSdkVersion 现在为 19

Espresso Device 1.0.0-alpha05

2023年5月4日

已发布以下构件

  • androidx.test.espresso:espresso-device:1.0.0-alpha05

API 更改

  • 添加了用于旋转和折叠模拟器的实验性 API

JUnit Extensions 1.2.1

ext.junit 1.2.1

2024年6月26日

发布了 androidx.test.ext:junit:1.2.1androidx.test.ext:junit-ktx:1.2.1

ext.junit 1.2.0

2024年6月24日

发布了 androidx.test.ext:junit:1.2.0androidx.test.ext:junit-ktx:1.2.0

自上次稳定版本 1.1.5 以来发生的更改包括

API 更改

  • 创建 DeleteFilesRule:用于在测试用例执行之间删除文件的 API
  • 添加 AppComponentFactoryRule
  • minSdkVersion 现在为 19,targetSdkVersion 现在为 34

错误修复

  • 参考文档清理 - 记录之前缺少的参数,修复链接等

新功能

  • 主要版本工具链更新
    • 类现在编译为 Java 8 字节码
    • javac 编译器切换到 OpenJDK 17。
  • 工件现在已签名。有关更多详细信息,请参阅验证依赖项

ext.junit 1.2.0-rc01

2024年5月30日

androidx.test.ext:junit:1.2.0-rc01androidx.test.ext:junit-ktx:1.2.0-rc01 发布。

ext.junit 1.2.0-beta01

2024年5月16日

androidx.test.ext:junit:1.2.0-beta01androidx.test.ext:junit-ktx:1.2.0-beta01 发布。

ext.junit 1.2.0-alpha04

2024 年 4 月 26 日

androidx.test.ext:junit:1.2.0-alpha04androidx.test.ext:junit-ktx:1.2.0-alpha04 发布。

错误修复

  • 在 DeleteFilesRule 中使用 PlatformTestStorage 代替 TestStorage

ext.junit 1.2.0-alpha03

2024 年 1 月 26 日

androidx.test.ext:junit:1.2.0-alpha03androidx.test.ext:junit-ktx:1.2.0-alpha03 发布。

错误修复

  • 参考文档清理 - 记录之前缺少的参数,修复链接等

ext.junit 1.2.0-alpha02

2023 年 11 月 29 日

androidx.test.ext:junit:1.2.0-alpha02androidx.test.ext:junit-ktx:1.2.0-alpha02 发布。

API 更改

  • 添加 AppComponentFactoryRule
  • minSdkVersion 现在为 19,targetSdkVersion 现在为 34

新功能

  • 工件现在已签名。有关更多详细信息,请参阅验证依赖项

ext.junit 1.2.0-alpha01

2023 年 3 月 21 日

androidx.test.ext:junit:1.2.0-alpha01androidx.test.ext:junit-ktx:1.2.0-alpha01 发布。

API 更改

  • 创建 DeleteFilesRule:用于在测试用例执行之间删除文件的 API

依赖项更改

  • 更新到 androidx.test:monitor:1.7.0-alpha01、androidx.test:core:1.6.0-alpha01、androidx.test.services:storage:1.5.0-alpha01
  • 更新到 kotlin stdlib 1.7.22
  • 主要版本工具链更新
    • 类现在编译为 Java 8 字节码
    • javac 编译器切换到 OpenJDK 11。

JUnit Extensions 1.1.5

ext.junit 1.1.5

2023年1月3日

androidx.test.ext:junit:1.1.5androidx.test.ext:junit-ktx:1.1.5 发布。

错误修复

  • 修复 ActivityScenarioRule 的参考文档格式

JUnit Extensions 1.1.4

ext.junit 1.1.4

2022年11月8日

androidx.test.ext:junit:1.1.4androidx.test.ext:junit-ktx:1.1.4 发布。

自 1.1.3 以来包含的更改

依赖项更改

  • 更新至 Kotlin stdlib 1.7.10
  • 更新到 org.junit:junit:4.13.2

ext.junit 1.1.4-rc01

2022年10月26日

androidx.test.ext:junit:1.1.4-rc01androidx.test.ext:junit-ktx:1.1.4-rc01 发布。

ext.junit 1.1.4-beta01

2022年10月6日

androidx.test.ext:junit:1.1.4-beta01androidx.test.ext:junit-ktx:1.1.4-beta01 发布。

依赖项更改

  • 更新至 Kotlin stdlib 1.7.10

ext.junit 1.1.4-alpha07

2022年6月1日

androidx.test.ext:junit:1.1.4-alpha07androidx.test.ext:junit-ktx:1.1.4-alpha07 发布。

错误修复

  • 恢复使用 javac 11 以防止 IncompatibleClassChangeErrors [#1351]

依赖项更改

  • 更新到 Kotlin stdlib 1.6.21

ext.junit 1.1.4-alpha06

2022年4月28日

androidx.test.ext:junit:1.1.4-alpha06androidx.test.ext:junit-ktx:1.1.4-alpha06 发布。

错误修复

  • AndroidJUnit4 javadoc 进行小幅修复。

ext.junit 1.1.4-alpha05

2022年3月21日

androidx.test.ext:junit:1.1.4-alpha05androidx.test.ext:junit-ktx:1.1.4-alpha05 发布。

ext.junit 1.1.4-alpha04

2022年2月11日

androidx.test.ext:junit:1.1.4-alpha04androidx.test.ext:junit-ktx:1.1.4-alpha04 发布。

** 依赖项更改

  • 更新到 Kotlin stdlib 1.6.10

ext.junit 1.1.4-alpha03

2021年10月4日

androidx.test.ext:junit:1.1.4-alpha03androidx.test.ext:junit-ktx:1.1.4-alpha03 发布。

ext.junit 1.1.4-alpha02

2021年9月28日

androidx.test.ext:junit:1.1.4-alpha02androidx.test.ext:junit-ktx:1.1.4-alpha02 发布。

依赖项更改

  • 更新到
    • kotlin stdlib 1.5.31
    • org.junit:junit:4.13.2

ext.junit 1.1.4-alpha01

2021年8月23日

androidx.test.ext:junit:1.1.4-alpha01androidx.test.ext:junit-ktx:1.1.4-alpha01 发布。

依赖项更改

  • -ktx: 显式依赖于 Kotlin stdlib 1.4.30

Junit-Gtest 1.0

Junit-Gtest 1.0.0-alpha01

2022年3月23日

androidx.test.ext:junit-gtest:1.0.0-alpha01 发布。 版本 1.0.0-alpha01 包含这些提交。

第一个版本中的功能

  • JUnit Gtest 是一个新的库,其中包含一个 JUnit 运行器,用于在连接的设备上运行 Gtest 套件。

Truth Extensions 1.6.0

ext.truth 1.6.0

2024年6月24日

androidx.test.ext:truth:1.6.0 发布。

自上次稳定版本 1.5.0 以来更改包括

API 更改

  • 删除未使用的 androidx.test.annotation 依赖项
  • 删除对 Android SDK < 19 的所有支持。最低版本为 API 19(Android Kit Kat 4.4)
  • minSdkVersion 现在为 19,targetSdk 现在为 34
  • 添加了 PersistableBundleSubject

错误修复

  • 删除未使用的 androidx.test.annotation 依赖项

新功能

  • 工件现在已签名。有关更多详细信息,请参阅验证依赖项
  • 主要版本工具链更新
    • 类现在编译为 Java 8 字节码
    • javac 编译器切换到 OpenJDK 17。

ext.truth 1.6.0-rc01

2024年5月30日

androidx.test.ext:truth:1.6.0-rc01 发布。

ext.truth 1.6.0-beta01

2024年5月16日

androidx.test.ext:truth:1.6.0-beta01 发布。

错误修复

  • 删除未使用的 androidx.test.annotation 依赖项

ext.truth 1.6.0-alpha04

2024 年 4 月 26 日

androidx.test.ext:truth:1.6.0-alpha04 发布。

新功能

  • BundleSubject 添加了 byteArray() 方法。

ext.truth 1.6.0-alpha03

2024 年 1 月 26 日

androidx.test.ext:truth:1.6.0-alpha03 发布。

错误修复

  • 删除对 Android SDK < 19 的所有支持。最低版本为 API 19(Android Kit Kat 4.4)

新功能

  • 添加了 PersistableBundleSubject

ext.truth 1.6.0-alpha02

2023 年 11 月 29 日

androidx.test.ext:truth:1.6.0-alpha02 发布。

API 更改

  • minSdkVersion 现在为 19,targetSdk 现在为 34

新功能

  • 工件现在已签名。有关更多详细信息,请参阅验证依赖项

ext.truth 1.6.0-alpha01

2022年3月21日

androidx.test.ext:truth:1.6.0-alpha01 发布。

依赖项更改

  • 更新到 androidx.test:core:1.6.0-alpha01
  • 更新到 kotlin stdlib 1.7.22
  • 主要版本工具链更新
    • 类现在编译为 Java 8 字节码
    • javac 编译器切换到 OpenJDK 11。

Truth Extensions 1.5.0

ext.truth 1.5.0

2022年11月8日

androidx.test.ext:truth:1.5.0 发布。

自 1.4.0 版本以来的更改包括

API 更改

  • 添加 BundleSubject#stringArray
  • 添加 ParcelableSubject.marshallsEquallyTo()
  • 添加 BundleSubject#doubleFloat

错误修复

  • 使 Intent 匹配器对空 Intent 明确失败

依赖项更改

  • 更新到
    • com.google.guava:guava:30.1.1-android
    • com.google.truth:truth:1.1.3

ext.truth 1.5.0-rc01

2022年10月26日

androidx.test.ext:truth:1.5.0-rc01 发布。

ext.truth 1.5.0-beta02

2022年10月21日

androidx.test.ext:truth:1.5.0-beta02 发布。

API 更改

  • 将 IntentCorrespondences#all 提升为稳定 API。

ext.truth 1.5.0-beta01

2022年10月6日

androidx.test.ext:truth:1.5.0-beta01 发布。

API 更改

  • 使用 NonNull/Nullable 对自 1.4.0 以来引入的新 API 进行注释
  • 添加 BundleSubject#stringArray

ext.truth 1.5.0-alpha07

2022年6月1日

androidx.test.ext:truth:1.5.0-alpha07 发布。

错误修复

  • 恢复使用 javac 11 以防止 IncompatibleClassChangeErrors [#1351]

ext.truth 1.5.0-alpha06

2022年4月28日

androidx.test.ext:truth:1.5.0-alpha06 发布。

ext.truth 1.5.0-alpha05

2022年3月21日

androidx.test.ext:truth:1.5.0-alpha05 发布。

错误修复

  • 使 Intent 匹配器对空 Intent 明确失败

ext.truth 1.5.0-alpha04

2022年2月11日

androidx.test.ext:truth:1.5.0-alpha04 发布。

ext.truth 1.5.0-alpha03

2021年10月4日

androidx.test.ext:truth:1.5.0-alpha03 发布。

ext.truth 1.5.0-alpha02

2021年9月28日

androidx.test.ext:truth:1.5.0-alpha02 发布。

API 更改

  • 添加 ParcelableSubject.marshallsEquallyTo()

依赖项更改

  • 更新到
    • com.google.guava:guava:30.1.1-android
    • com.google.truth:truth:1.1.3

ext.truth 1.5.0-alpha01

2021年8月23日

androidx.test.ext:truth:1.5.0-alpha01 发布。

API 更改

  • 添加 BundleSubject#doubleFloat

Monitor 1.7.2

monitor 1.7.2

2024年8月14日

androidx.test:monitor:1.7.2 发布。

错误修复

  • 修复与旧版 androidx.test:core 一起使用时出现的 ActivityInvoker$-CC ClassNotFoundErrors

monitor 1.7.1

2024年6月26日

androidx.test:monitor:1.7.1 发布。

错误修复

  • 捕获并记录 forceEnableAppTracing 调用上的 NoSuchMethodError

monitor 1.7.0

2024年6月24日

androidx.test:monitor:1.7.0 发布。

自上次稳定版本 1.6.1 以来包含的更改

API 更改

  • 将 DeviceController 设为公共 API
  • 将 PlatformTestStorage 移至公共 API
  • 添加内部 ControlledLooper#isDrawCallbacksSupported。
  • 删除对 Android SDK < 19 的所有支持。最低版本为 API 19(Android Kit Kat 4.4)
  • minSdkVersion 现在为 19,targetSdkVersion 现在为 34

错误修复

  • 删除未使用的 androidx.test.annotation 依赖项
  • 修复 IntentMonitorImpl 回调中的同步问题

新功能

  • 工件现在已签名。有关更多详细信息,请参阅验证依赖项
  • 主要版本工具链更新:现在编译为 java8 字节码

已知问题

  • monitor 依赖于 androidx.tracing:1.1.0。根据配置,gradle 可能会在运行时将其降级到 1.0.0,从而导致“No static method forceEnableAppTracing”错误。作为解决方法,请添加显式“implementation androidx.tracing:1.1.0”依赖项。请参阅 https://github.com/android/android-test/issues/1755

monitor 1.7.0-rc01

2024年5月30日

androidx.test:monitor:1.7.0-rc01 发布。

monitor 1.7.0-beta01

2024年5月16日

androidx.test:monitor:1.7.0-beta01 发布。

错误修复

  • 删除未使用的 androidx.test.annotation 依赖项

monitor 1.7.0-alpha05

2024 年 4 月 26 日

androidx.test:monitor:1.7.0-alpha05 发布。

**API 更改** * 将 DeviceController 从 ExperimentalTestApi 设为公共 API * 将 PlatformTestStorage 移至公共 API * 添加内部 ControlledLooper#isDrawCallbacksSupported。

monitor 1.7.0-alpha04

2024 年 1 月 26 日

androidx.test:monitor:1.7.0-alpha04 发布。

错误修复

  • 修复 IntentMonitorImpl 回调中的同步问题
  • 删除对 Android SDK < 19 的所有支持。最低版本为 API 19(Android Kit Kat 4.4)

**API 更改** * 将 androidx.test.platform.tracing 移回内部 API

monitor 1.7.0-alpha03

2023 年 11 月 29 日

androidx.test:monitor:1.7.0-alpha03 发布。

API 更改

  • targetSdkVersion 现在为 34

新功能

  • 工件现在已签名。有关更多详细信息,请参阅验证依赖项

monitor 1.7.0-alpha02

2023年9月18日

androidx.test:monitor:1.7.0-alpha02 发布。

**API 更改** * 添加 AppComponentFactory 规则

**功能** * 在空闲资源超时时转储线程状态

**错误修复** * 修复 API >= 26 上对话框内 View 的 captureToBitmap。

**依赖项更改** * minSdkVersion 现在为 19

monitor 1.7.0-alpha01

2023 年 3 月 21 日

androidx.test:monitor:1.7.0-alpha01 发布。

依赖项更改

  • 更新到 kotlin stdlib 1.7.22
  • 主要版本工具链更新:现在编译为 java8 字节码

Monitor 1.6.0

monitor 1.6.1

2023年1月3日

androidx.test:monitor:1.6.1 发布。

错误修复

  • 修复 PlatformTestStorage 的默认实现。这将使 espresso 能够在未配置 androidx.test.services 时保存测试失败的屏幕截图
  • 参考文档清理

monitor 1.6.0

2022年11月8日

androidx.test:monitor:1.6.0 发布。

自 1.5.0 以来包含的更改

API 更改

  • 内部 API 更改以支持 ActivityScenario#launchActivityForResult
  • 添加用于支持不同跟踪库的内部 API。

错误修复

  • 删除“仍处于 CREATED 至 STOPPED 状态的活动”日志垃圾邮件

依赖项更改

  • 添加对 androidx.tracing 的依赖项

monitor 1.6.0-rc01

2022年10月26日

androidx.test:monitor:1.6.0-rc01 发布。

monitor 1.6.0-beta01

2022年10月6日

androidx.test:monitor:1.6.0-beta01 发布。

monitor 1.6.0-alpha05

2022年8月22日

androidx.test:monitor:1.6.0-alpha05 发布。

API 更改

  • 内部 API 更改以支持 ActivityScenario#launchActivityForResult

Monitor 又名 Platform 1.6.0

monitor 1.6.0-alpha04

2022年6月1日

androidx.test:monitor:1.6.0-alpha04 发布。

错误修复

  • 恢复使用 javac 11 以防止 IncompatibleClassChangeErrors [#1351]

monitor 1.6.0-alpha03

2022年4月28日

androidx.test:monitor:1.6.0-alpha03 发布。

错误修复

  • 删除“仍处于 CREATED 至 STOPPED 状态的活动”日志垃圾邮件

monitor 1.6.0-alpha02

2022年3月21日

androidx.test:monitor:1.6.0-alpha02 发布。

错误修复

  • 使 HardwareRendererCompat 日志记录的严重性降低。
  • 确保在 Instrumentation#finish 之前调用 Trace.endSection。

monitor 1.6.0-alpha01

2022年2月11日

androidx.test:monitor:1.6.0-alpha01 发布。

API 更改

  • 添加用于支持不同跟踪库的内部插件 API。

依赖项更改

  • 添加对 androidx.tracing 的依赖项

Monitor 又名 Platform 1.5.0

monitor 1.5.0

2021年12月13日

androidx.test:monitor:1.5.0 发布。

自上次 1.4.0 稳定版本以来的更改为

API 更改

  • 添加 HardwareRendererCompat
  • 添加 PlatformTestStorage
  • 弃用 androidx.test.annotation.Beta

monitor 1.5.0-rc01

2021年11月18日

androidx.test:monitor:1.5.0-rc01 发布。

monitor 1.5.0-beta01

2021年11月8日

androidx.test:monitor:1.5.0-beta01 发布。

monitor 1.5.0-alpha03

2021年10月4日

androidx.test:monitor:1.5.0-alpha03 发布。

monitor 1.5.0-alpha02

2021年9月28日

androidx.test:monitor:1.5.0-alpha02 发布。

API 更改

  • 删除 HardwareRendererCompat#enableDrawingIfNecessary
  • 从 HardwareRendererCompat 中删除 ExperimentalTestApi
  • 弃用 androidx.test.annotation.Beta

monitor 1.5.0-alpha01

2021年8月23日

androidx.test:monitor:1.5.0-alpha01 发布。

API 更改

  • 添加 HardwareRendererCompat
  • 添加 PlatformTestStorage

Orchestrator 1.5.0

orchestrator 1.5.0

2024年6月24日

androidx.test:orchestrator:1.5.0 发布。

自上次稳定版本 1.4.2 以来包含的更改

新功能

  • 引入 Instrumentation 参数代理,允许用户将 instrumentation 参数代理到正在测试的 APK(例如:--no-hidden-api-checks)。
  • 主要版本工具链更新。APK 现在使用不同的密钥签名,您需要卸载任何以前的 orchestrator('adb uninstall androidx.test.orchestrator')

API 更改

  • minSdkVersion 现在为 19

错误修复

  • 修复测试名称过长时发生的崩溃

orchestrator 1.5.0-rc01

2024年5月30日

androidx.test:orchestrator:1.5.0-rc01 发布。

orchestrator 1.5.0-beta01

2024年5月16日

androidx.test:orchestrator:1.5.0-beta01 发布。

orchestrator 1.5.0-alpha04

2024 年 4 月 26 日

androidx.test:orchestrator:1.5.0-alpha04 发布。

orchestrator 1.5.0-alpha03

2024年2月29日

androidx.test:orchestrator:1.5.0-alpha03 发布。

新功能

  • 引入 Instrumentation 参数代理,允许用户将 instrumentation 参数代理到正在测试的 APK(例如:--no-hidden-api-checks)。

orchestrator 1.5.0-alpha02

2023 年 11 月 29 日

androidx.test:orchestrator:1.5.0-alpha02 发布。

API 更改

  • minSdkVersion 现在为 19

错误修复

  • 修复测试名称过长时发生的崩溃

新功能

  • 工件现在已签名。有关更多详细信息,请参阅验证依赖项

orchestrator 1.5.0-alpha01

2023 年 3 月 21 日

androidx.test:orchestrator:1.5.0-alpha01 发布。

依赖项更改

  • 主要版本工具链更新。APK 现在使用不同的密钥签名,您需要卸载任何以前的 orchestrator('adb uninstall androidx.test.orchestrator')

Orchestrator 1.4.2

orchestrator 1.4.2

2022年11月8日

androidx.test:orchestrator:1.4.2 已发布。

orchestrator 1.4.2-rc01

2022年10月26日

androidx.test:orchestrator:1.4.2-rc01 已发布。

orchestrator 1.4.2-beta01

2022年10月6日

androidx.test:orchestrator:1.4.2-beta01 已发布。

orchestrator 1.4.2-alpha04

2022年6月1日

androidx.test:orchestrator:1.4.2-alpha04 已发布。

错误修复

  • 恢复使用 javac 11 以防止 IncompatibleClassChangeErrors [#1351]

orchestrator 1.4.2-alpha03

2022年4月28日

androidx.test:orchestrator:1.4.2-alpha03 已发布。

orchestrator 1.4.2-alpha02

2022年3月21日

androidx.test:orchestrator:1.4.2-alpha02 已发布。

orchestrator 1.4.2-alpha01

2022年2月11日

androidx.test:orchestrator:1.4.2-alpha01 已发布。

Orchestrator 1.4.1

orchestrator 1.4.1

2021年12月13日

androidx.test:orchestrator:1.4.1 已发布。

自之前的 1.4.0 稳定版本以来的显著变化包括:

错误修复

  • 删除过时的 OrchestrationXmlTestRunListener,部分原因是为了防止在 Android 11+ 上出现错误消息。
  • 支持 Android API 31。

orchestrator 1.4.1-rc01

2021年11月18日

androidx.test:orchestrator:1.4.1-rc01 已发布。

orchestrator 1.4.1-beta01

2021年11月8日

androidx.test:orchestrator:1.4.1-beta01 已发布。

orchestrator 1.4.1-alpha03

2021年10月4日

androidx.test:orchestrator:1.4.1-alpha03 已发布。

orchestrator 1.4.1-alpha02

2021年9月28日

androidx.test:orchestrator:1.4.1-alpha02 已发布。

orchestrator 1.4.1-alpha01

2021年8月23日

androidx.test:orchestrator:1.4.1-alpha01 已发布。

错误修复

  • 删除过时的 OrchestrationXmlTestRunListener,部分原因是为了防止在 Android 11+ 上出现错误消息。

Runner 1.6.2

runner 1.6.2

2024年8月14日

androidx.test:runner:1.6.2 已发布。

runner 1.6.1

2024年6月26日

androidx.test:runner:1.6.1 已发布。

runner 1.6.0

2024年6月24日

androidx.test:runner:1.6.0 已发布。

自上次稳定版本 1.5.2 以来的更改包括:

API 更改

  • 将 androidx.test.services.** 标记为 RestrictTo LIBRARY_GROUP。
  • 添加 CustomFilter API。
  • 添加 PackagePrefixClasspathSuite API。
  • 将 PermissionRequester 标记为 RestrictTo LIBRARY_GROUP 而不是 ExperimentalTestApi。
  • minSdkVersion 现在为 19

错误修复

  • 删除未使用的 androidx.test.annotation 依赖项
  • 记录测试异常时,使用 Log 的内置 Throwable 支持以避免堆栈截断。
  • 内部更改以支持使用 UiAutomation#grantRuntimePermissions 的 GrantPermissionRule。
  • 尝试在 RequiresDevice 文档中阐明限制和弃用原因。
  • 删除对 Android SDK < 19 的所有支持。最低版本为 API 19(Android Kit Kat 4.4)
  • 修复“-e class”和“-e notClass”在同一类/方法上应执行相同结果(不运行任何测试)的问题。
  • TestDiscoveryEventServiceConnection.send() 如果 Instrumentation 抛出 RuntimeException,将正确地使测试失败而不是挂起。
  • 停止为每个 AndroidJUnit4 测试类重新解析所有参数。这应该可以解决 #1948 中的初始化错误。
  • 强制初始化 instrumentationRunListener,以防止在检测系统服务器进程时出现 NPE。
  • 尝试避免输出超过 Binder 事务限制的测试结果摘要。
  • 等待最多 2 秒钟以使 Activity 完成器运行,以防止它在测试过程中完成 Activity 的情况。
  • 改进由于自定义类加载器导致 Junit 类不匹配时的错误报告。
  • 修复 logOnly 模式下 @Ignore 类别的报告。
  • 将 InstrumentationResultPrinter 的实例化移动到加载 Multidex 之后。
  • 在 RunnerArgs 解析中使用 TestStorage 之前注册它。
  • 按提供给 TestRequestBuilder 的顺序执行测试类。

新功能

  • 工件现在已签名。有关更多详细信息,请参阅验证依赖项
  • 主要版本工具链更新
    • 类现在编译为 Java 8 字节码
    • javac 编译器切换到 OpenJDK 17。

runner 1.6.0-rc01

2024年5月30日

androidx.test:runner:1.6.0-rc01 已发布。

runner 1.6.0-beta01

2024年5月16日

androidx.test:runner:1.6.0-beta01 已发布。

错误修复

  • 删除未使用的 androidx.test.annotation 依赖项

runner 1.6.0-alpha07

2024 年 4 月 26 日

androidx.test:runner:1.6.0-alpha07 已发布。

错误修复

  • 记录测试异常时,使用 Log 的内置 Throwable 支持以避免堆栈截断。
  • 内部更改以支持使用 UiAutomation#grantRuntimePermissions 的 GrantPermissionRule。

runner 1.6.0-alpha06

2024 年 1 月 26 日

androidx.test:runner:1.6.0-alpha06 已发布。

错误修复

  • 尝试在 RequiresDevice 文档中阐明限制和弃用原因。
  • 删除对 Android SDK < 19 的所有支持。最低版本为 API 19(Android Kit Kat 4.4)
  • 修复“-e class”和“-e notClass”在同一类/方法上应执行相同结果(不运行任何测试)的问题。

API 更改

  • 将 androidx.test.services.** 标记为 RestrictTo LIBRARY_GROUP。
  • 从 CustomFilter 中移除 ExperimentalTestApi - 使其成为公共 API。
  • 从 PackagePrefixClasspathSuite 中移除 ExperimentalTestApi - 使其成为公共 API。
  • 将 PermissionRequester 标记为 RestrictTo LIBRARY_GROUP 而不是 ExperimentalTestApi。

runner 1.6.0-alpha05

2023 年 11 月 29 日

androidx.test:runner:1.6.0-alpha05 已发布。

错误修复

  • TestDiscoveryEventServiceConnection.send() 如果 Instrumentation 抛出 RuntimeException,将正确地使测试失败而不是挂起。
  • 停止为每个 AndroidJUnit4 测试类重新解析所有参数。这应该可以解决 #1948 中的初始化错误。

API 更改

  • minSdkVersion 现在为 19

新功能

  • 工件现在已签名。有关更多详细信息,请参阅验证依赖项

runner 1.6.0-alpha04

2023年8月21日

androidx.test:runner:1.6.0-alpha04 已发布。

错误修复

  • 强制初始化 instrumentationRunListener,以防止在检测系统服务器进程时出现 NPE。

依赖项更改

  • 升级到 androidx.annotation:1.7.0-beta01。

runner 1.6.0-alpha03

2023年6月27日

androidx.test:runner:1.6.0-alpha03 已发布。

错误修复

  • 尝试避免输出超过 Binder 事务限制的测试结果摘要。

runner 1.6.0-alpha02

2023年4月25日

androidx.test:runner:1.6.0-alpha02 已发布。

错误修复

  • 等待最多 2 秒钟以使 Activity 完成器运行,以防止它在测试过程中完成 Activity 的情况。

runner 1.6.0-alpha01

2023 年 3 月 21 日

androidx.test:runner:1.6.0-alpha01 已发布。

错误修复

  • 改进由于自定义类加载器导致 Junit 类不匹配时的错误报告。
  • 修复 logOnly 模式下 @Ignore 类别的报告。
  • 将 InstrumentationResultPrinter 的实例化移动到加载 Multidex 之后。
  • 在 RunnerArgs 解析中使用 TestStorage 之前注册它。
  • 按提供给 TestRequestBuilder 的顺序执行测试类。

依赖项更改

  • 更新到 androidx.test:monitor:1.7.0-alpha01。
  • 主要版本工具链更新
    • 类现在编译为 Java 8 字节码
    • javac 编译器切换到 OpenJDK 11。

Runner 1.5.0

runner 1.5.2

2023年1月3日

androidx.test:runner:1.5.2 已发布。

错误修复

  • 参考文档清理

runner 1.5.1

2022年11月9日

androidx.test:runner:1.5.1 已发布。

错误修复

  • 截断 TraceRunListener 中的跟踪名称以防止在测试名称过长时崩溃。

runner 1.5.0

2022年11月8日

androidx.test:runner:1.5.0 已发布。

自 1.4.0 版本以来的更改包括

新功能

  • 记录测试生命周期事件的 Android 跟踪跨度。

API 更改

  • 将长期存在的 @Beta/@ExperimentalTestApi androidx.test.runner.screenshot 标记为稳定但已弃用(推荐使用新的 androidx.test.core/espresso 截图 API)。
  • 弃用“-e timeout”运行时参数,推荐使用 JUnit 的 Timeout 规则。
  • 添加 AbstractFilter 类。
  • 添加 AndroidClasspathSuite 和实验性的 PackagePrefixClasspathSuite。
  • Google Analytics 无操作并弃用。

错误修复

  • 添加对从 TestStorage 中读取“-e testFile”的支持。
  • 处理在设置 InstrumentationResultPrinter 之前应用程序崩溃的情况。
  • 在 Orchestrator Instrumentation 监听器中立即报告进程崩溃。
  • 支持使用逗号和哈希的参数化测试名称。
  • 改进 Orchestrator 中测试发现阶段的错误处理。
  • 增强异常情况(应用程序崩溃等)下的错误处理。

依赖项更改

  • 更新到
    • org.junit:junit:4.13.2

runner 1.5.0-rc01

2022年10月26日

androidx.test:runner:1.5.0-rc01 已发布。

runner 1.5.0-beta02

2022年10月21日

androidx.test:runner:1.5.0-beta02 已发布。

API 更改

  • 将长期存在的 @Beta/@ExperimentalTestApi androidx.test.runner.screenshot 标记为稳定但已弃用。

错误修复

  • 添加对从 TestStorage 中读取“-e testFile”的支持。

runner 1.5.0-beta01

2022年10月6日

androidx.test:runner:1.5.0-beta01 已发布。

API 更改

  • 弃用“-e timeout”运行时参数,推荐使用 JUnit 的 Timeout 规则。
  • 添加 AbstractFilter 类。

错误修复

  • 修复测试名称过长的跟踪错误。
  • 处理在设置 InstrumentationResultPrinter 之前应用程序崩溃的情况。

runner 1.5.0-alpha04

2022年6月1日

androidx.test:runner:1.5.0-alpha04 已发布。

错误修复

  • 恢复使用 javac 11 以防止 IncompatibleClassChangeErrors [#1351]

runner 1.5.0-alpha03

2022年4月28日

androidx.test:runner:1.5.0-alpha03 已发布。

错误修复

  • 在 Orchestrator Instrumentation 监听器中立即报告进程崩溃。

runner 1.5.0-alpha02

2022年3月21日

androidx.test:runner:1.5.0-alpha02 已发布。

错误修复

  • 确保在 Instrumentation#finish 之前调用 Trace.endSection。

runner 1.5.0-alpha01

2022年2月11日

androidx.test:runner:1.5.0-alpha01 已发布。

API 更改

  • 添加 AndroidClasspathSuite 和 PackagePrefixClasspathSuite。

新功能

  • 记录测试生命周期事件的 Android 跟踪跨度。

错误修复

  • 支持使用逗号和哈希的参数化测试名称。
  • 改进 Orchestrator 中测试发现阶段的错误处理。

Runner 1.4.1

runner 1.4.1-alpha03

2021年10月4日

androidx.test:runner:1.4.1-alpha03 已发布。

错误修复

  • 报告从测试执行器中抛出的异常。

runner 1.4.1-alpha02

2021年9月28日

androidx.test:runner:1.4.1-alpha02 已发布。

API 更改

  • 将 androidx.test.annotaton.Beta 引用替换为 ExperimentalTestApi。

错误修复

  • Google Analytics 无操作并弃用。

依赖项更改

  • 更新到
    • org.junit:junit:4.13.2

runner 1.4.1-alpha01

2021年8月23日

androidx.test:runner:1.4.1-alpha01 已发布。

错误修复

  • 增强异常情况(应用程序崩溃等)下的错误处理。

Rules 1.6.1

rules 1.6.1

2024年6月26日

androidx.test:rules:1.6.1 已发布。

rules 1.6.0

2024年6月24日

androidx.test:rules:1.6.0 已发布。

自上次稳定版本 1.5.0 以来更改包括

API 更改

  • minSdkVersion 现在为 19,targetSdkVersion 现在为 34
  • 建议使用 UiAutomation#grantRuntimePermissions 而不是 GrantPermissionRule。

错误修复

  • 用 @link 替换指向 junit.org javadoc 的损坏链接。
  • 使 GrantPermissionRule 使用 UiAutomation 在 API >= 28 上授予权限以修复在汽车上运行的问题。

新功能

  • 工件现在已签名。有关更多详细信息,请参阅验证依赖项
  • 主要版本工具链更新
    • 类现在编译为 Java 8 字节码
    • javac 编译器切换到 OpenJDK 17。

rules 1.6.0-rc01

2024年5月30日

androidx.test:rules:1.6.0-rc01 已发布。

rules 1.6.0-beta01

2024年5月16日

androidx.test:rules:1.6.0-beta01 已发布。

错误修复

  • 删除未使用的 androidx.test.annotation 依赖项

rules 1.6.0-alpha04

2024 年 4 月 26 日

androidx.test:rules:1.6.0-alpha04 已发布。

错误修复

  • 使 GrantPermissionRule 使用 UiAutomation 在 API >= 28 上授予权限以修复在汽车上运行的问题。

rules 1.6.0-alpha03

2024 年 1 月 26 日

androidx.test:rules:1.6.0-alpha03 已发布。

错误修复

  • 删除对 Android SDK < 19 的所有支持。最低版本为 API 19(Android Kit Kat 4.4)

API 更改

  • 建议使用 UiAutomation#grantRuntimePermissions 而不是 GrantPermissionRule。

rules 1.6.0-alpha02

2023 年 11 月 29 日

androidx.test:rules:1.6.0-alpha02 已发布。

错误修复

  • 用 @link 替换指向 junit.org javadoc 的损坏链接。

API 更改

  • minSdkVersion 现在为 19,targetSdkVersion 现在为 34

新功能

  • 工件现在已签名。有关更多详细信息,请参阅验证依赖项

rules 1.6.0-alpha01

2023 年 3 月 21 日

androidx.test:rules:1.6.0-alpha01 已发布。

依赖项更改

  • 更新到 androidx.test:runner:1.6.0-alpha01。
  • 更新到 kotlin stdlib 1.7.22
  • 主要版本工具链更新
    • 类现在编译为 Java 8 字节码
    • javac 编译器切换到 OpenJDK 11。

Rules 1.5.0

rules 1.5.0

2022年11月8日

androidx.test:rules:1.5.0 已发布。

自 1.4.0 版本以来的更改包括

API 更改

  • 将长期存在的 @Beta/@ExperimentalTestApi GrantPermissionRule 和 ServiceTestRule 提升为稳定 API。
  • 将长期存在的 @Beta/@ExperimentalTestApi AtraceLogger 和 ProviderTestRule 提升为稳定但已弃用的 API。

依赖项更改

  • 更新到
    • org.junit:junit:4.13.2

Rules 1.5.0

rules 1.5.0-rc01

2022年10月26日

androidx.test:rules:1.5.0-rc01 已发布。

rules 1.5.0-beta01

2022年10月21日

androidx.test:rules:1.5.0-beta01 已发布。

API 更改

  • 将长期存在的 @Beta/@ExperimentalTestApi GrantPermissionRule 和 ServiceTestRule 提升为稳定 API。
  • 将长期存在的 @Beta/@ExperimentalTestApi AtraceLogger 和 ProviderTestRule 提升为稳定但已弃用的 API。

Rules 1.4.1

rules 1.4.1-beta01

2022年10月6日

androidx.test:rules:1.4.1-beta01 已发布。

rules 1.4.1-alpha07

2022年6月1日

androidx.test:rules:1.4.1-alpha07 已发布。

错误修复

  • 恢复使用 javac 11 以防止 IncompatibleClassChangeErrors [#1351]

rules 1.4.1-alpha06

2022年4月28日

androidx.test:rules:1.4.1-alpha06 已发布。

rules 1.4.1-alpha05

2022年3月21日

androidx.test:rules:1.4.1-alpha05 已发布。

rules 1.4.1-alpha04

2022年2月11日

androidx.test:rules:1.4.1-alpha04 已发布。

rules 1.4.1-alpha03

2021年10月4日

androidx.test:rules:1.4.1-alpha03 已发布。

rules 1.4.1-alpha02

2021年9月28日

androidx.test:rules:1.4.1-alpha02 已发布。

API 更改

  • 将 androidx.test.annotaton.Beta 引用替换为 ExperimentalTestApi。

依赖项更改

  • 更新到
    • org.junit:junit:4.13.2

rules 1.4.1-alpha01

2021年8月23日

androidx.test:rules:1.4.1-alpha01 已发布。

无重大更改。

Services 1.5.0

services 1.5.0

2024年6月24日

androidx.test.services:test-services:1.5.0 androidx.test.services:storage:1.5.0 已发布。

自上次稳定版本 1.4.2 以来的更改包括:

API 更改

  • 将 TestStorage 从实验性 API 更改为内部 API。
  • minSdkVersion 现在为 19,targetSdkVersion 现在为 34

错误修复

  • 减少 HostedFile 日志垃圾邮件。
  • 删除未使用的 androidx.test.annotation 依赖项
  • TestStorage:以非系统用户身份运行时,使用本地缓存目录存储输出文件。
  • 当文件以写入方式打开时,TestStorage 现在会截断文件,除非显式地以追加方式打开。这可以防止先前写入文件中的字节保留在文件末尾。
  • 删除对 Android SDK < 19 的所有支持。最低版本为 API 19(Android Kit Kat 4.4)

新功能

  • 主要版本工具链更新
    • 类现在编译为 Java 8 字节码
    • javac 编译器切换到 OpenJDK 17。
    • APK 现在使用不同的密钥签名,您需要卸载任何以前的 APK('adb uninstall androidx.test.services')。

services 1.5.0-rc01

2024年5月30日

androidx.test.services:test-services:1.5.0-rc01 androidx.test.services:storage:1.5.0-rc01 已发布。

services 1.5.0-beta01

2024年5月16日

androidx.test.services:test-services:1.5.0-beta01 androidx.test.services:storage:1.5.0-beta01 已发布。

错误修复

  • 减少 HostedFile 日志垃圾邮件。
  • 删除未使用的 androidx.test.annotation 依赖项

services 1.5.0-alpha04

2024 年 4 月 26 日

androidx.test.services:test-services:1.5.0-alpha04 androidx.test.services:storage:1.5.0-alpha04 已发布。

错误修复

  • TestStorage:以非系统用户身份运行时,使用本地缓存目录存储输出文件。

API 更改

  • 将 TestStorage 从实验性 API 更改为内部 API。

services 1.5.0-alpha03

2024 年 1 月 26 日

androidx.test.services:test-services:1.5.0-alpha03 androidx.test.services:storage:1.5.0-alpha03 已发布。

错误修复

  • 当文件以写入方式打开时,TestStorage 现在会截断文件,除非显式地以追加方式打开。这可以防止先前写入文件中的字节保留在文件末尾。
  • 删除对 Android SDK < 19 的所有支持。最低版本为 API 19(Android Kit Kat 4.4)

services 1.5.0-alpha02

2023 年 11 月 29 日

androidx.test.services:test-services:1.5.0-alpha02 androidx.test.services:storage:1.5.0-alpha02 已发布。

错误修复

  • 尝试避免输出超过 Binder 事务限制的测试结果摘要。

API 更改

  • minSdkVersion 现在为 19,targetSdkVersion 现在为 34

新功能

  • 工件现在已签名。有关更多详细信息,请参阅验证依赖项

services 1.5.0-alpha01

2022年3月21日

androidx.test.services:test-services:1.5.0-alpha01 androidx.test.services:storage:1.5.0-alpha01 已发布。

依赖项更改

  • 更新到 androidx.test:monitor:1.7.0-alpha01。
  • 主要版本工具链更新
    • 类现在编译为 Java 8 字节码
    • javac 编译器切换到 OpenJDK 11。
    • APK 现在使用不同的密钥签名,您需要卸载任何以前的 Orchestrator('adb uninstall androidx.test.services')。

Services 1.4.2

services 1.4.2

2022年11月8日

androidx.test.services:test-services:1.4.2 androidx.test.services:storage:1.4.2 已发布。

services 1.4.2-rc01

2022年10月26日

androidx.test.services:test-services:1.4.2-rc01 androidx.test.services:storage:1.4.2-rc01 已发布。

services 1.4.2-beta01

2022年10月6日

androidx.test.services:test-services:1.4.2-beta01 androidx.test.services:storage:1.4.2-beta01 已发布。

services 1.4.2-alpha04

2022年6月1日

androidx.test.services:test-services:1.4.2-alpha04 androidx.test.services:storage:1.4.2-alpha04 已发布。

错误修复

  • 恢复使用 javac 11 以防止 IncompatibleClassChangeErrors [#1351]

services 1.4.2-alpha03

2022年4月28日

androidx.test.services:test-services:1.4.2-alpha03 androidx.test.services:storage:1.4.2-alpha03 已发布。

服务 1.4.2-alpha02

2022年3月21日

androidx.test.services:test-services:1.4.2-alpha02 androidx.test.services:storage:1.4.2-alpha02 已发布。

服务 1.4.2-alpha01

2022年2月11日

androidx.test.services:test-services:1.4.2-alpha01 androidx.test.services:storage:1.4.2-alpha01 已发布。

服务 1.4.1

服务 1.4.1

2021年12月13日

androidx.test.services:test-services:1.4.1 androidx.test.services:storage:1.4.1 已发布。

自之前的 1.4.0 稳定版本以来的显著变化包括:

**错误修复**

  • 通过为 ToolConnection 使用真实 uid 修复在 Android API 31 上的执行问题 [#1042]

服务 1.4.1-rc01

2021年11月18日

androidx.test.services:test-services:1.4.1-rc01 androidx.test.services:storage:1.4.1-rc01 已发布。

服务 1.4.1-beta01

2021年11月8日

androidx.test.services:test-services:1.4.1-beta01 androidx.test.services:storage:1.4.1-beta01 已发布。

服务 1.4.1-alpha03

2021年10月4日

androidx.test.services:test-services:1.4.1-alpha03 androidx.test.services:storage:1.4.1-alpha03 已发布。

服务 1.4.1-alpha02

2021年9月28日

androidx.test.services:test-services:1.4.1-alpha02 androidx.test.services:storage:1.4.1-alpha02 已发布。

服务 1.4.1-alpha01

2021年8月23日

androidx.test.services:test-services:1.4.1-alpha01 androidx.test.services:storage:1.4.1-alpha01 已发布。

**错误修复**

  • 通过为 ToolConnection 使用真实 uid 修复在 Android S Beta4 上的执行问题 [#1042]

版本 1.4.0

版本 1.4.0

2021年6月30日

这是 AndroidX Test 1.4.0 + Espresso 3.4.0 的稳定版本。它包含以下库的更新

  • 核心 1.4.0
  • Espresso 3.4.0
  • Intents 3.4.0
  • JUnit 1.1.3
  • 监控器 1.4.0
  • 协调器 1.4.0
  • 运行器 1.4.0
  • 规则 1.4.0
  • Truth 1.4.0
  • 测试服务 1.4.0

自 1.4.0-rc01 以来没有更改。以下是自 1.3.0 版本以来的更改摘要

新功能

  • 为 Espresso ViewMatcher API 添加否定条件
  • 允许从 Espresso IdlingRegistry 注销 Looper
  • 支持通过 java.util.ServiceLoader 指定 Junit RunListeners
  • 引入 Espresso BoundedDiagnosingMatcher 基类 API,提供更好的错误消息,并将其应用于各种 Espresso 匹配器
  • 支持在类级别使用 UIThreadTest
  • 为 ext.truth 的 LocationSubject 添加了一些实用程序方法
  • 添加 SparseBooleanArraySubject Truth Subject 用于对 SparseBooleanArray 进行断言

错误修复

  • 改进对测试失败时大型堆栈跟踪的处理 [#729, #269]
    • 移除测试运行器框架相关的堆栈帧
    • 将堆栈跟踪截断到最大 64KB,以避免 binder 限制事务错误
  • 在 android API < 21 上为多 dex 检测 apk 添加对类路径扫描测试发现的支持。
  • Espresso:当没有 Activity 存在时改进错误消息
  • 改进 Instrumentation#runOnMainSync 异常错误处理
  • 改进 -e timeout_msec 和 AndroidJUnit4 的文档。
  • 将 ActivityOptions 发送到 BootstrapActivity [#685]
  • 通过启用它使用 Matcher.describeMismatch 来改进 ViewMatchers#assertThat 错误消息
  • 修复使用 espresso 远程时缺少的 desugar ThrowableExtension 错误 [issuetracker.google.com/170228109]
  • 通过包含 androidx.test.espresso.web.bridge 类修复 < Android API 19 上的 espresso web [#1042]
  • 如果 ActivityResultWaiter 未被注销,则在 InstrumentationActivityInvoker 中注销它
  • 运行器:将 TestEventClient“非主要检测”日志消息降低到警告级别,因为在多进程测试中这是一个预期条件
  • Espresso:更新 HasSiblingMatcher 以仅检查同级(而不是自身)
  • 修复 espresso.idling.resource 的工件名称 [#809]
  • 公开 setMasterPolicyTimeoutWhenDebuggerAttached 功能 [#814]
  • 移除过于详细的 ActivityLifecycleMonitorImpl 回调日志。

依赖项更改

  • 更新 espresso.accessibility 和 espresso.contrib 以依赖于与 androidx 兼容的 com.google.android.apps.common.testing.accessibility.framework:accessibility-test-framework:3.1。此版本因此需要 java8 源/目标兼容性。 [#492]

已知问题

  • 在 APIS 30+ 上使用协调器需要 Studio/AGP 4.2+

版本 1.4.0-rc01

2021年6月21日

这是 AndroidX Test 1.4.0/Espresso 3.4.0 的候选版本。API 稳定。它包含以下库的更新

  • 核心 1.4.0-rc01
  • Espresso 3.4.0-rc01
  • Intents 3.4.0-rc01
  • JUnit 1.1.3-rc01
  • 监控器 1.4.0-rc01
  • 协调器 1.4.0-rc01
  • 运行器 1.4.0-rc01
  • 规则 1.4.0-rc01
  • Truth 1.4.0-rc01
  • 测试服务 1.4.0-rc01

此候选版本与 1.4.0-beta02/3.4.0-beta02 版本相同,除了版本号之外。

版本 1.4.0-beta02

2021年6月7日

这是 AndroidX Test 1.4.0 的 Beta 版本。API 预计不会更改。它包含以下库的更新

  • 核心 1.4.0-beta02
  • Espresso 3.4.0-beta02
  • Intents 3.4.0-beta02
  • JUnit 1.1.3-beta02
  • 监控器 1.4.0-beta02
  • 协调器 1.4.0-beta02
  • 运行器 1.4.0-beta02
  • 规则 1.4.0-beta02
  • Truth 1.4.0-beta02
  • 测试服务 1.4.0-beta02

以下是自 1.4.0-beta01 版本以来的更改摘要

错误修复

  • 切换回经典 desugaring 以解决与 beta-1 的向后兼容性和核心库 desugaring 问题 [修复 #968]

版本 1.4.0-beta01

2021年5月17日

这是 AndroidX Test 1.4.0 的 Beta 版本。API 预计不会更改。它包含以下库的更新

  • 核心 1.4.0-beta01
  • Espresso 3.4.0-beta01
  • Intents 3.4.0-beta01
  • JUnit 1.1.3-beta01
  • 监控器 1.4.0-beta01
  • 协调器 1.4.0-beta01
  • 运行器 1.4.0-beta01
  • 规则 1.4.0-beta01
  • Truth 1.4.0-beta01
  • 测试服务 1.4.0-beta01

以下是自 1.4.0-alpha06 版本以来的更改摘要

新的 API 清理

  • 移除 InstrumentationProvider
  • 取消 BoundedMatcher 的弃用
  • 恢复 CursorMatcher 以继承自 BoundedMatcher

版本 1.4.0-alpha06

2021年4月29日

这是 AndroidX Test 1.4.0 的 Alpha 版本。新 API 可能会更改。它包含以下库的更新

  • 核心 1.4.0-alpha06
  • Espresso 3.4.0-alpha06
  • Intents 3.4.0-alpha06
  • JUnit 1.1.3-alpha06
  • 监控器 1.4.0-alpha06
  • 协调器 1.4.0-alpha06
  • 运行器 1.4.0-alpha06
  • 规则 1.4.0-alpha06
  • Truth 1.4.0-alpha06
  • 测试服务 1.4.0-alpha06

以下是自 1.4.0-alpha05 版本以来的更改摘要

错误修复

  • 通过从清单中移除 forceQueryable 支持编译针对 SDKS < 29 的版本 [#917]

版本 1.4.0-alpha05

2021年3月15日

这是 AndroidX Test 1.4.0 的 Alpha 版本。新 API 可能会更改。它包含以下库的更新

  • 核心 1.4.0-alpha05
  • Espresso 3.4.0-alpha05
  • Intents 3.4.0-alpha05
  • JUnit 1.1.3-alpha05
  • 监控器 1.4.0-alpha05
  • 协调器 1.4.0-alpha05
  • 运行器 1.4.0-alpha05
  • 规则 1.4.0-alpha05
  • Truth 1.4.0-alpha05
  • 测试服务 1.4.0-alpha05

以下是自 1.4.0-alpha04 版本以来的更改摘要

API 更改

  • [Truth] 添加 SparseBooleanArraySubject Truth Subject 用于对 SparseBooleanArray 进行断言。

错误修复

  • 将 QUERY_ALL_PACKAGES 权限添加到 Android 测试协调器和 Android 测试服务 APK 以在 Android API R+ 上正常工作。
  • 在 android API < 21 上为多 dex 检测 apk 添加对类路径扫描测试发现的支持。

版本 1.4.0-alpha04

2021年2月8日

这是 AndroidX Test 1.4.0 的 Alpha 版本。新 API 可能会更改。它包含以下库的更新

  • 核心 1.4.0-alpha04
  • Espresso 3.4.0-alpha04
  • Intents 3.4.0-alpha04
  • JUnit 1.1.3-alpha04
  • 监控器 1.4.0-alpha04
  • 协调器 1.4.0-alpha04
  • 运行器 1.4.0-alpha04
  • 规则 1.4.0-alpha04
  • Truth 1.4.0-alpha04
  • 测试服务 1.4.0-alpha04

以下是自 1.3.1-alpha03 版本以来的更改摘要

新功能

  • [Espresso] 改进了各种 Espresso 断言的错误消息
  • [Truth] 为 LocationSubject 添加了一些实用程序方法

API 更改

  • 添加了 InstrumentationRegistry.registerInstrumentationProvider

错误修复

  • 移除过于详细的 ActivityLifecycleMonitorImpl 回调日志。

依赖项更改

版本 1.3.1

版本 1.3.1-alpha03

2021年1月11日

这是 AndroidX Test 1.3.1 的 Alpha 版本。新 API 可能会更改。它包含以下库的更新

  • 核心 1.3.1-alpha03
  • Espresso 3.4.0-alpha03
  • Intents 3.4.0-alpha03
  • JUnit 1.1.3-alpha03
  • 监控器 1.3.1-alpha03
  • 协调器 1.3.1-alpha03
  • 运行器 1.3.1-alpha03
  • 规则 1.3.1-alpha03
  • Truth 1.3.1-alpha03
  • 测试服务 1.3.1-alpha03

以下是自 1.3.1-alpha02 版本以来的更改摘要

新功能

  • 支持在类级别使用 UIThreadTest

错误修复

  • 如果 ActivityResultWaiter 未被注销,则在 InstrumentationActivityInvoker 中注销它
  • 运行器:将 TestEventClient“非主要检测”日志消息降低到警告级别,因为在多进程测试中这是一个预期条件
  • Espresso:更新 HasSiblingMatcher 以仅检查同级(而不是自身)。
  • 修复 espresso.idling.resource 的工件名称 [#809]
  • 公开 setMasterPolicyTimeoutWhenDebuggerAttached 功能 [#814]

依赖项更改

  • 更新 espresso.accessibility 和 espresso.contrib 以依赖于与 androidx 兼容的 com.google.android.apps.common.testing.accessibility.framework:accessibility-test-framework:3.1。此版本因此需要 java8 源/目标兼容性。 [#492]

版本 1.3.1-alpha02

2020年10月20日

这是 AndroidX Test 1.3.1 的 Alpha 版本。新 API 可能会更改。它包含以下库的更新

  • 核心 1.3.1-alpha02
  • Espresso 3.4.0-alpha02
  • Intents 3.4.0-alpha02
  • JUnit 1.1.3-alpha02
  • 监控器 1.3.1-alpha02
  • 协调器 1.3.1-alpha02
  • 运行器 1.3.1-alpha02
  • 规则 1.3.1-alpha02
  • Truth 1.3.1-alpha02
  • 测试服务 1.3.1-alpha02

以下是自 1.3.1-alpha01 版本以来的更改摘要

新功能

  • 早期查看新的 Espresso BoundedDiagnosingMatcher 基类 API,该 API 提供了更好的错误消息。

错误修复

  • 修复 API 30 上的协调器 clearPackageData [#743]

版本 1.3.1-alpha01

2020年10月15日

这是 AndroidX Test 1.3.1 的 Alpha 版本。新 API 可能会更改。它包含以下库的更新

  • 核心 1.3.1-alpha01
  • Espresso 3.4.0-alpha01
  • Intents 3.4.0-alpha01
  • JUnit 1.1.3-alpha01
  • 监控器 1.3.1-alpha01
  • 协调器 1.3.1-alpha01
  • 运行器 1.3.1-alpha01
  • 规则 1.3.1-alpha01
  • Truth 1.3.1-alpha01
  • 测试服务 1.3.1-alpha01

以下是自 1.3.0 版本以来的更改摘要

新功能

  • 为 Espresso ViewMatcher API 添加否定条件
  • 允许从 Espresso IdlingRegistry 注销 Looper
  • 支持通过 java.util.ServiceLoader 指定 Junit RunListeners

错误修复

  • 改进对测试失败时大型堆栈跟踪的处理 [#729, #269]
    • 移除测试运行器框架相关的堆栈帧
    • 将堆栈跟踪截断到最大 64KB,以避免 binder 限制事务错误
  • Espresso:当没有 Activity 存在时改进错误消息
  • 改进 Instrumentation#runOnMainSync 异常错误处理
  • 为协调器和服务添加包可见性条目以修复使用 targetSdk 30 时的协调器 [#743]
  • 改进 -e timeout_msec 和 AndroidJUnit4 的文档。
  • 将 ActivityOptions 发送到 BootstrapActivity [#685]
  • 通过启用它使用 Matcher.describeMismatch 来改进 ViewMatchers#assertThat 错误消息
  • 修复使用 espresso 远程时缺少的 desugar ThrowableExtension 错误 [issuetracker.google.com/170228109]
  • 通过包含 androidx.test.espresso.web.bridge 类修复 < Android API 19 上的 espresso web [#1042]

版本 1.3.0

版本 1.3.0

2020年8月25日

这是 AndroidX Test 1.3.0 的稳定版本。它包含以下库的更新

  • 核心 1.3.0
  • Espresso 3.3.0
  • Intents 3.3.0
  • JUnit 1.1.2
  • 监控器 1.3.0
  • 协调器 1.3.0
  • 运行器 1.3.0
  • 规则 1.3.0
  • Truth 1.3.0
  • 测试服务 1.3.0

自 1.3.0-rc03 以来没有更改。以下是自 1.2.0 版本以来的更改摘要

新功能

  • 支持通过 SdkSuppress#codeName 过滤预发布 SDK
  • 为 Location 添加 Truth 扩展
  • 为 Bundle 字符串和可解析数组添加 Truth 断言。
  • 在 ActivityScenario 中支持 ActivityOptions
  • 使 Activity 生命周期转换超时可配置
  • 处理通过隐式意图启动的 Activity。(修复 #496)
  • 添加 BundleMatchers.isEmpty() 和 isEmptyOrNull() 方法
  • 允许在没有 Intents.init 的情况下释放 Intents.release
  • 添加 ViewMatchers.isFocused()

API 更改

  • ActivityTestRule 已弃用,建议使用 ActivityScenario/ActivityScenarioRule
  • 允许 ServiceTestRule 的子类自定义超时

错误修复

  • 修复过滤参数化方法
    • 这也修复了使用协调器运行参数化测试的问题 [#215, https://issuetracker.google.com/119838413]
  • 修复在 API 29 上运行时出现的“运行时权限对话框”
  • 跳过 ActivityScenario 中使用的空 Activity 的启动和完成动画。(修复 #411)
  • 处理通过隐式意图启动的 Activity。(修复 #496)
  • 使 Kotlin 包名称唯一,修复使用 AGP 4.1 构建时的日志垃圾邮件 [#680]
  • 仅在 AndroidJUnit4 运行器中委托给 RobolectricTestRunner,如果它在类路径上
  • Espresso contrib:用其替换项替换 RecyclerView.findViewHolderForPosition 方法的使用
  • 修复启用 AccessibilityChecks 时出现的 NoSuchMethodError (#376)
  • 修复 Espresso 由于处理消息而不是空闲资源而繁忙时的错误消息
  • ViewMatchers.isDisplayingAtLeast() 对具有负缩放比例的视图有效。
  • 增强 WithIdMatcher 的错误消息
  • 移除 waitForAtLeastOneActivityToBeResumed 中的多余等待。
  • 为 ACTION_UP 设置正确的元状态
  • 修复缺少的 androidx_test_espresso_contrib_drawer_layout_tag 字段 [#671]

  • 改进 AndroidJUnitRunner 中的类路径扫描错误处理:忽略所有找不到类和链接错误(修复 #439)
  • 在从 RunnerArgs 创建 RunListeners 之前初始化 InstrumentationRegistry

依赖项更改

  • Truth:更新到 com.google.truth:truth:1.0 和 com.google.guava:guava:27.0.1-android

版本 1.3.0-rc03

2020年8月5日

这是 AndroidX Test 1.3.0 的第三个候选版本。它包含以下库的更新

  • Core 1.3.0-rc03
  • Espresso 3.3.0-rc03
    • 移除一些尚未准备好发布的 API,这些 API 在之前的 rc+beta 版本中被错误地包含了
  • Intents 3.3.0-rc03
    • 移除一些尚未准备好发布的 API,这些 API 在之前的 rc+beta 版本中被错误地包含了
  • JUnit 1.1.2-rc03
  • Monitor 1.3.0-rc03
  • Orchestrator 1.3.0-rc03
  • Runner 1.3.0-rc03
  • Rules 1.3.0-rc03
  • Truth 1.3.0-rc03
  • Test Services 1.3.0-rc03

版本 1.3.0-rc02

2020年7月28日

这是 AndroidX Test 1.3.0 的第二个候选版本。它包含以下库的更新

  • Core 1.3.0-rc02
    • 使 Kotlin 包名称唯一,修复使用 AGP 4.1 构建时的日志垃圾邮件 [#680]
  • Espresso 3.3.0-rc02
    • 修复缺少的 androidx_test_espresso_contrib_drawer_layout_tag 字段 [#671]

  • Intents 3.3.0-rc02
  • JUnit 1.1.2-rc02
  • Monitor 1.3.0-rc02
  • Orchestrator 1.3.0-rc02
  • Runner 1.3.0-rc02
  • Rules 1.3.0-rc02
    • 添加 ActivityTestRule -> ActivityScenario 的转换提示
  • Truth 1.3.0-rc02
  • Test Services 1.3.0-rc02

版本 1.3.0-rc01

2020年5月28日

这是一个 AndroidX Test 1.3.0 的候选版本。它包含以下库的更新

  • Core 1.3.0-rc01
  • Espresso 3.3.0-rc01
    • 使包名称唯一,修复使用 AGP 4.1 构建时的日志垃圾 [#573]
  • Intents 3.3.0-rc01
  • JUnit 1.1.2-rc01
  • Monitor 1.3.0-rc01
    • 使包名称唯一,修复使用 AGP 4.1 构建时的日志垃圾 [#573]
  • Orchestrator 1.3.0-rc01
  • Runner 1.3.0-beta01
    • 使包名称唯一,修复使用 AGP 4.1 构建时的日志垃圾 [#573]
  • Rules 1.3.0-rc01
    • 使包名称唯一,修复使用 AGP 4.1 构建时的日志垃圾 [#573]
  • Truth 1.3.0-rc01
  • Test Services 1.3.0-rc01

版本 1.3.0-beta02

2020年5月20日

这是一个 AndroidX Test 1.3.0 的 Beta 版本。新的 API 不太可能发生变化。它包含以下库的更新

  • Core 1.3.0-beta02
  • Espresso 3.3.0-beta02
  • Intents 3.3.0-beta02
  • JUnit 1.1.2-beta02
  • Monitor 1.3.0-beta02
  • Orchestrator 1.3.0-beta02
  • Runner 1.3.0-beta01
    • 修复使用 Orchestrator 运行参数化测试的问题 [#215, https://issuetracker.google.com/119838413]
  • Rules 1.3.0-beta02
  • Truth 1.3.0-beta02
  • Test Services 1.3.0-beta02
    • 修复在 API 29 上运行时出现的“运行时权限对话框”

版本 1.3.0-beta01

2020年4月20日

这是一个 AndroidX Test 1.3.0 的 Beta 版本。新的 API 不太可能发生变化。它包含以下库的更新

  • Core 1.3.0-beta01
  • Espresso 3.3.0-beta01
    • 添加 ViewMatchers.isFocused()
    • 增强 WithIdMatcher 的错误消息
  • Intents 3.3.0-beta01
    • 允许在没有 Intents.init 的情况下释放 Intents.release
  • JUnit 1.1.2-beta01
  • Monitor 1.3.0-beta01
  • Orchestrator 1.3.0-beta01
  • Runner 1.3.0-beta01
    • 仅当 RobolectricTestRunner 在类路径上时才委托给它
    • 支持通过 SdkSuppress#codeName 过滤预发布 SDK
  • Rules 1.3.0-beta01
    • 弃用 ActivityTestRule
  • Truth 1.3.0-beta01
    • 使 LocationSubject 覆盖 isEqualTo
  • Test Services 1.3.0-beta01

版本 1.3.0-alpha05

2020年3月17日

这是一个 AndroidX Test 1.3.0 的 Alpha 版本。新的 API 可能会发生变化。它包含以下库的更新

  • Core 1.3.0-alpha05
    • 跳过 ActivityScenario 中使用的空 Activity 的启动和完成动画。(修复 #411)
    • 处理通过隐式意图启动的 Activity。(修复 #496)
  • Espresso 3.3.0-alpha05
    • ViewMatchers.isDisplayingAtLeast() 对具有负缩放比例的视图有效。
    • 移除 waitForAtLeastOneActivityToBeResumed 中的多余等待。
    • 为 ACTION_UP 设置正确的元状态
  • Intents 3.3.0-alpha05
  • JUnit 1.1.2-alpha05
  • Monitor 1.3.0-alpha05
  • Orchestrator 1.3.0-alpha05
  • Runner 1.3.0-alpha05
    • 在扫描类路径以查找测试时,忽略所有 LinkageError 异常。(修复 #439)
    • 在从 RunnerArgs 创建 RunListeners 之前初始化 InstrumentationRegistry
  • Rules 1.3.0-alpha05
  • Truth 1.3.0-alpha05
  • Test Services 1.3.0-alpha05

版本 1.3.0-alpha04

2020年2月20日

这是一个 AndroidX Test 1.3.0 的 Alpha 版本。新的 API 可能会发生变化。它包含以下库的更新

  • Core 1.3.0-alpha04
  • Espresso 3.3.0-alpha04
    • 修复 Espresso 由于处理消息而不是空闲资源而繁忙时的错误消息
  • Intents 3.3.0-alpha04
  • JUnit 1.1.2-alpha04
  • Monitor 1.3.0-alpha04
  • Orchestrator 1.3.0-alpha04
  • Runner 1.3.0-alpha04
    • 修复 AndroidJUnitRunner,如果发生 StrictMode 违规,则将测试报告为失败
    • 当 JUnit4 测试类格式错误时,添加更多信息以方便诊断
  • Rules 1.3.0-alpha04
  • Truth 1.3.0-alpha04
  • Test Services 1.3.0-alpha04
    • 在测试服务中包含测试存储服务

以下是 版本 1.3.0-alpha04 中包含的所有提交列表

版本 1.3.0-alpha03

2019年12月3日

这是一个 AndroidX Test 1.3.0 的 Alpha 版本。新的 API 可能会发生变化。它包含以下库的更新

  • Core 1.3.0-alpha03
    • 在 ActivityScenario 中支持 ActivityOptions
  • Espresso 3.3.0-alpha03
    • 修复启用 AccessibilityChecks 时出现的 NoSuchMethodError (#376)
  • Intents 3.3.0-alpha03
  • JUnit 1.1.2-alpha03
  • Monitor 1.3.0-alpha03
  • Orchestrator 1.3.0-alpha03
  • Runner 1.3.0-alpha03
    • 在执行类路径扫描以查找测试时,忽略 NoClassDefFoundErrors
    • 在未处理的异常上添加更好的错误处理
    • 允许通过运行程序参数选择退出“waitForActivitiesToComplete”
  • Rules 1.3.0-alpha03
  • Truth 1.3.0-alpha03
    • 更新位置扩展以更好地处理空值。
    • 向 BundleSubject 添加 stringArrayList 和 parcelableArrayList 方法

版本 1.2.1

版本 1.2.1-alpha02

2019年7月15日

这是一个 AndroidX Test 1.2.1 的 Alpha 版本。新的 API 可能会发生变化。它包含以下库的更新

  • Core 1.2.1-alpha02
    • 使 Activity 生命周期转换超时可配置
  • Espresso 3.3.0-alpha02
  • Intents 3.3.0-alpha02
    • 添加 BundleMatchers.isEmpty() 和 isEmptyOrNull() 方法
  • JUnit 1.1.2-alpha02
  • Monitor 1.3.0-alpha02
  • Orchestrator 1.3.0-alpha02
  • Runner 1.3.0-alpha02
  • Rules 1.3.0-alpha02
  • Truth 1.3.0-alpha02
    • 更新到 com.google.truth:truth:1.0 和 com.google.guava:guava:27.0.1-android

版本 1.2.1-alpha01

2019年6月17日

这是一个 AndroidX Test 1.2.1 的 Alpha 版本。新的 API 可能会发生变化。它包含以下库的更新

  • Core 1.2.1-alpha01
    • 包含用于“MethodParameter 属性中无效的参数计数”构建警告的工具链修复
  • Espresso 3.3.0-alpha01
    • contrib:用其替换项替换 RecyclerView.findViewHolderForPosition 方法的使用
  • Intents 3.3.0-alpha01
  • JUnit 1.1.2-alpha01
  • Monitor 1.3.0-alpha01
  • Orchestrator 1.3.0-alpha01
  • Runner 1.3.0-alpha01
  • Rules 1.3.0-alpha01
    • 允许 ServiceTestRule 的子类自定义超时
  • Truth 1.3.0-alpha01
    • 为 Location 添加 Truth 扩展

版本 1.2.0

版本 1.2.0

2019年5月29日

这是 AndroidX Test 1.2.0 的稳定版本。它包含以下库的更新

  • Core 1.2.0
  • Espresso 3.2.0
  • Intents 3.2.0
  • JUnit 1.1.1
  • Monitor 1.2.0
  • Orchestrator 1.2.0
  • Runner 1.2.0
  • Rules 1.2.0
  • Truth 1.2.0

版本 1.2.0-beta01

2019年5月6日

这是一个 AndroidX Test 1.2.0 的 Beta 版本。它包含以下库的更新

  • Core 1.2.0-beta01
    • 更优雅地处理测试中使用多个 ActivityScenarios 的情况
  • Espresso 3.2.0-beta01
  • Intents 3.2.0-beta01
  • JUnit 1.1.1-beta01
  • Monitor 1.2.0-beta01
    • Instrumentation.runOnMainSync() 将异常传播回调用线程
  • Orchestrator 1.2.0-beta01
  • Runner 1.2.0-beta01
  • Rules 1.2.0-beta01
  • Truth 1.2.0-beta01

版本 1.2.0-alpha05

2019年4月30日

这是一个 AndroidX Test 1.2.0 的 Alpha 版本。新的 API 可能会发生变化。它包含以下库的更新

  • Core 1.2.0-alpha05
    • 使 ActivityScenario#onActivity 可从主线程调用
  • Espresso 3.2.0-alpha05
    • 更多地减少 openActionBarOverflowOrOptionsMenu 的不稳定性
  • Intents 3.2.0-alpha05
  • JUnit 1.1.1-alpha05
  • Monitor 1.2.0-alpha05
  • Orchestrator 1.2.0-alpha05
  • Runner 1.2.0-alpha05
  • Rules 1.2.0-alpha05
  • Truth 1.2.0-alpha05
    • 更新到上游 google Truth 0.44

版本 1.2.0-alpha04

2019年4月18日

这是一个 AndroidX Test 1.2.0 的 Alpha 版本。新的 API 可能会发生变化。它包含以下库的更新

  • Core 1.2.0-alpha04
  • Espresso 3.2.0-alpha04
    • 减少 openActionBarOverflowOrOptionsMenu 的不稳定性
    • 在 androidx.test 中添加钩子以模拟本地测试环境的窗口焦点更改
  • Intents 3.2.0-alpha04
  • JUnit 1.1.1-alpha04
  • Monitor 1.2.0-alpha04
  • Orchestrator 1.2.0-alpha04
  • Runner 1.2.0-alpha04
    • 使 androidx.test 在不存在旧版 android.test 类时也能工作
  • Rules 1.2.0-alpha04
  • Truth 1.2.0-alpha04

版本 1.2.0-alpha03

2019年4月7日

这是一个 AndroidX Test 1.2.0 的 Alpha 版本。新的 API 可能会发生变化。它包含以下库的更新

  • Core 1.2.0-alpha03
    • 向 ActivityScenario 添加 getState() API
  • Espresso 3.2.0-alpha03
    • 将 WithTagKeyMatcher 转换为接受 Matcher<?> 而不是 Matcher
    • 更新到 Espresso 设置文档的链接
    • 修复在不同语言环境中运行时的调试日志记录
  • Intents 3.2.0-alpha03
  • JUnit 1.1.1-alpha03
  • Monitor 1.2.0-alpha03
    • 再次尝试清除异常处理程序以防止 Robolectric 中的内存泄漏。
  • Orchestrator 1.2.0-alpha03
  • Runner 1.2.0-alpha03
    • 添加 AJUR 选项 tests_regex 以运行与给定正则表达式匹配的测试。
  • Rules 1.2.0-alpha03
  • Truth 1.2.0-alpha03
    • 公开 ParcelableSubject API
    • 添加 BundleSubject#longInt
    • 添加 IntentSubject#hasComponent

版本 1.1.1

版本 1.1.1-alpha02

2019年3月7日

这是一个 AndroidX Test 1.1.1 的 Alpha 版本。新的 API 可能会发生变化。它包含以下库的更新

  • Espresso 3.2.0-alpha02
  • Intents 3.2.0-alpha02
    • 添加 IntentMatchers#filterEquals
    • 修复 Intents#intended() 中的活动生命周期时序错误。它现在在检查活动状态之前使主循环空闲。
  • Runner 1.1.2-alpha02
    • 允许同时指定包和类过滤器。
  • Truth 1.2.0-alpha02
  • JUnit 1.1.1-alpha02
  • Core 1.1.1-alpha02
    • 当无法解析 Activity 时抛出 RuntimeException。
  • Monitor 1.1.2-alpha02
    • 清除对未捕获异常处理程序的引用以防止 Robolectric 中的内存泄漏。
  • Rules 1.1.2-alpha02
  • Orchestrator 1.1.2-alpha02

版本 1.1.1-alpha01

2019年1月30日

这是一个 AndroidX Test 1.1.1 的 Alpha 版本。新的 API 可能会发生变化。它包含以下库的更新

  • Espresso 3.1.2-alpha01
    • 添加了方法 AccessibilityChecks.disable()。
  • Intents 3.1.2-alpha01
    • 添加 IntentMatchers#hasDataString
    • 修复 Intents#intended() 中的活动生命周期时序错误。它现在在检查活动状态之前使主循环空闲。
  • Runner 1.1.2-alpha01
    • AndroidJUnitRunner 现在接受 -e 注释选项中的逗号分隔的类列表,用于仅运行具有所有给定注释的测试
  • Truth 1.1.1-alpha01
    • 添加 filtersEquallyTo() 到 IntentSubject 用于使用 Intent.filterEquals() 比较意图。
  • JUnit 1.1.1-alpha01
  • Core 1.1.1-alpha01
  • Monitor 1.1.2-alpha01
  • Rules 1.1.2-alpha01
  • Orchestrator 1.1.2-alpha01

版本 1.1.0

版本 1.1.0

2018年12月13日

这是 AndroidX Test 1.1.0 的稳定版本。它包含以下库的更新

  • Espresso 3.1.1
  • Runner 1.1.1
  • Rules 1.1.1
  • Monitor 1.1.
  • AndroidTestOrchestrator 1.1.1
  • Core 1.1.0
  • Truth 1.1.0
  • JUnit 1.1.0

  • Core 1.1.0

    • 使 ActivityScenario 支持启动另一个活动的活动

版本 1.1.0-beta01

2018年12月6日

这是 AndroidX Test 1.1.0 的 beta01 版本。它包含以下库的更新

  • Core 1.1.0-beta01
    • 新的 core-ktx kotlin 扩展工件!包括一个 kotlin 友好的 ActivityScenario.launchActivity API
    • 使用自定义意图启动活动的新的 ActivityScenario API
    • 接收 Activity 结果的新 ActivityScenario API
    • 使 ActivityScenario 可关闭
  • Espresso3.1.1-beta01
    • 修改 withResourceNameMatcher 和 HumanReadables 以与 API 28 兼容。
    • 更新 ReplaceTextAction 的描述以包含 stringToBeSet
    • 在 Robolectric 暂停的循环模式下支持 Espresso。
  • JUnit 1.1.0-beta01
    • 新的 ActivityScenarioRule API,用于在测试设置和拆卸时自动启动和关闭 Activity
    • 新的 junit-ktx kotlin 扩展工件!包括一个 kotlin 友好的 ActivityScenarioRule API
  • Runner 1.1.1-beta01
    • 使 -e 包和 -e testFile 在接收包时的行为一致
  • Truth 1.1.0-beta01
    • 添加 bool、parcelable 和 parcelableAsType BundleSubject API
  • Rules 1.1.1-beta01
  • Monitor 1.1.1-beta01
  • AndroidTestOrchestrator 1.1.1-beta01

版本 1.0.0

版本 1.0.0

2018年10月24日

  • 所有库
    • 将 minSdkVersion 设置为 14,将 targetSdkVersion 设置为 28
  • Espresso 3.1.0
    • 修复 withContentDescription 以使其适用于非字符串类型
    • 添加对在 Robolectric 上使用 Espresso 的支持
    • 问题 73044169:当 textAllCaps 启用时,Espresso ViewMatchers.withText 不起作用
    • 添加对注入一系列运动事件的支持
  • Intents
    • 添加用于检索意图列表的 Beta API。旨在与新的真相断言一起使用
  • Runner 1.1.0
    • 添加对即时应用的支持
    • 弃用 androidx.test.runner.AndroidJUnit4 并替换为 androidx.test.ext.junit.runners.AndroidJUnit4
  • Monitor 1.1.0
    • 弃用 androidx.test.InstrumentationRegistry 并替换为 androidx.test.platform.app.InstrumentationRegistry 和 androidx.test.core.app.ApplicationProvider
  • AndroidTestOrchestrator 1.1.0
    • 仅当同时传递了“coverage”和“coverageFilePath”参数时才启用协调器覆盖处理。
    • 仅在设置了 -debug 时才等待调试器,而不是列出 ATO 测试用例。为调试协调器本身添加了一个新的 orchestratorDebug 标志

  • 核心 1.0.0
    • 新构件!包含支持本地和设备测试的新 API,用于:
      • 检索上下文:ApplicationProvider
      • 控制活动生命周期:ActivityScenario(测试版)
      • MotionEvent 和 PackageInfo 的构建器
      • Parcelable 工具类
  • Truth 1.0.0
    • 新构件!包含针对 Notification、Intent、Bundle、Parcelable 和 MotionEvent 的自定义 Truth 断言。
  • JUnit 1.0.0
    • 新构件!包含支持本地和设备测试的 JUnit 运行器类 androidx.test.ext.junit.runners.AndroidJUnit4。