Releases: sergio-sastre/AndroidUiTestingUtils
2.2.0
CrossLibrary-Screenshot tests
- Support for Pseudolocales with all libraries, including Paparazzi!
Important: It requires paparazzi 1.3.2, so ensure to use the workaround mentioned in Paparazzi 1.3.2 release notes
:android-testify
- Added
ScreenshotRuleWithConfigurationForFragment
for easier Fragment screenshot tests
Other Important updates:
- Requires Kotlin 1.9.x and Compose Compiler 1.5.x
- Requires compile SDK 34
2.1.1-alpha02
- Migrate from AGP 7.4 to AGP 8.1.1
- Cross-Library Screenshot tests support for Pseudolocales
- required update Paparazzi from 1.3.1 to 1.3.2
Important NOTES:
Requires compileSDK 34
and likely...
- at least AGP 8.1.1 (not tested on other versions)
- Compose Kotlin Compiler 1.5.0 (not tested with other versions)
- Kotlin 1.9.0 (not tested with other versions)
- The workaround mentioned in Paparazzi 1.3.2 release notes
2.1.1-alpha01
This release contains no new features, only some maintenance work: AGP and JDK updates
- AGP 7.4.0
- JDK 17
2.1.0
Cross-Library Screenshot Tests updates:
- Android-Testify support, which supports screenshot testing with Gradle Managed Devices
- Update Roborazzi to 1.8.0-alpha-6 & added ComparisonStyle.Grid support
Others
- Add DisableAnimationsTestRule
2.0.1
- Add support for Robolectric/Roborazzi tests to under multiple devices and configs
companion object {
@JvmStatic
@ParameterizedRobolectricTestRunner.Parameters
fun testItemProvider(): Array<TestDataForComposable<MyEnum>> =
TestDataForComposableCombinator(
uiStates = MyEnum.values()
)
.forDevices(
PIXEL_4A,
MEDIUM_TABLET,
)
.forConfigs(
ComposableConfigItem(uiMode = DAY),
ComposableConfigItem(uiMode = NIGHT),
)
.combineAll()
}
- Easier Roborazzi tests with
RobolectricActivityScenarioForComposable()
withcom.github.sergio-sastre.AndroidUiTestingUtils:roborazzi:2.0.1
dependency:
robolectricActivityScenarioForComposableRule.captureRoboImage(
filePath("CoffeeDrinkListComposable_${testItem.screenshotId}")
) {
AppTheme {
CoffeeDrinkList(coffeeDrink = testItem.uiState.drink)
}
}
- Cross-Library screenshot tests with Roborazzi use 1.7.0-rc-1 under the hood
- More Robolectric devices to use with
RobolectricActivityScenario
s
- Desktops: small, medium and large desktop
- Tablets: medium tablet
- Phones: small and medium phone
2.0.0
This version comes with out-of-the box support for Cross-library screenshot tests for:
- Paparazzi 1.3.1
- Roborazzi 1.5.0-rc-1
- Shot 6.0.0
- Dropshots 0.4.1
Updates:
- Dropshots to 0.4.1
- Roborazzi to 1.5.0-rc-1
Fix:
- Handle cross-library screenshot test without screenshot name
2.0.0-rc1
Focus on Cross-library screenshot tests:
✅ Support for Android Views!
✅ Support for Accessibility (Roborazzi & Paparazzi)
📈 More library specific configurations supported
🐞 Bug fixes (Roborazzi filePath, Paparazzi environment...)
Breaking changes:
modules :sharedtest-paparazzi
and sharedtest-roborazzi
are renamed to :mapper-paparazzi
and mapper-roborazzi
respectively
Some classes have also changed their absolute paths
2.0.0-beta04
Cross-library screenshot tests
- Support AGP 8.x
- Fix Dropshot tests not recording/verifying
- Fix Roborazzi tests not screenshoting Composables inside Launch Effects (e.g. Snackbar)
- Fix Paparazzi tests with
RenderingMode.SHRINK
&Orientation.LANDSCAPE
, width & height were not properly set
New features
View.drawFullScrollableToBitmap(config: Bitmap.Config = Bitmap.Config.ARGB_8888)
It draws a full scrollable view to Bitmap, even though it goes beyond the activity window.
Works with all:
1. On-device screenshot testing libraries (e.g. Dropshots, Shot, etc.)
2. Robolectric-based screenshot testing libraries (e.g. Roborazzi)
2.0.0-beta03
Focus on Cross-Library screenshot testing:
- Support for Roborazzi
- Support for DisplaySize & complex Locales e.g. "sr-Cyrl-RS"
- Add more options for specific libraries (e.g. backgroundColor)
2.0.0-beta02
- Adds full support for Robolectric: a perfect companion for Roborazzi screenshot tests!
- Improves supports for "shared screenshot testing"