Compose 预览版屏幕截图测试版本说明

0.0.1-alpha14

此版本包含以下 bug 修复和性能改进:

问题 说明
问题 #469819154 修复了 Compose 渲染器中的内存泄漏问题。
问题 #470058578 修复了更新参考图片时界面冻结和内存错误的问题。
问题 #422412664 修复了 Windows 和 GitHub Actions 上“命令行超出操作系统限制”错误的问题。
问题 #437223807 修复了多模块项目中的资源和资产解析问题。
问题 #464899800 修复了由 version.properties 中的命名冲突导致的 Gradle 插件冲突问题。
问题 #482433854 修复了使用 kotlin-reflect 或序列化的可组合项的初始化错误。

0.0.1-alpha13

此版本引入了以下功能:

  • 与 JDK 17 或更高版本兼容。
  • bug 修复,并改进了与 Android Studio 的集成。

0.0.1-alpha12

此版本引入了以下功能:

  • 与 Android Gradle 插件 (AGP) 9.0 兼容。
  • 支持在 JDK 24 及更高版本上运行屏幕截图测试。
  • 支持配置最大堆大小。
  • 修复了渲染失败问题,并提高了测试稳定性。
  • 增强了报告功能,以包含与新图片和参考图片相关的百分比差异和其他元数据。

0.0.1-alpha11

此版本引入了以下功能:

  • 与 Android Gradle 插件 (AGP) 8.13 兼容。
  • 添加了对解析具有小数值的 XML 可绘制对象的支持,无论主机语言区域设置如何。
  • 对于使用 JDK 24 或更高版本的宿主机,如果安装了兼容的 JDK (11-23),系统将选择该 JDK。

0.0.1-alpha10

此版本引入了以下功能:

  • 从这个版本开始,您需要使用 @PreviewTest 注解标记所有预览函数。没有注解的预览将不会执行。

  • 参考图片目录已从 {module}/src/{variant}/screenshotTest/reference 更改为 {module}/src/screenshotTest{Variant}/reference这是为了确保生成的参考图片不会成为生产代码的一部分,并与其他测试类型的目录结构保持一致。

  • 移除了 {variant}PreviewScreenshotRender 任务。图片渲染已迁移到 JUnit 测试引擎。

  • update{Variant}ScreenshotTest 任务会在更新之前将新的渲染图片与参考图片进行比较。它只会更新差异大于指定阈值的图片。移除了 --updateFilter 命令行标志。

0.0.1-alpha06

此版本引入了以下功能:

图片差异阈值:借助这项新的全局阈值设置,您可以更精细地控制屏幕截图比较。如需进行配置,请更新模块的 build.gradle.kts:

    testOptions {
        screenshotTests {
            imageDifferenceThreshold = 0.0001f // 0.01%
        }
    }

此阈值将应用于模块中定义的所有屏幕截图测试。

  • bug 修复:修复了一些 Compose 渲染器 bug,并添加了对空 Compose 的支持。
  • 性能增强:更新了图片差异算法,使其速度更快。