takahirom/roborazzi (io.github.takahirom.roborazzi:roborazzi-junit-rule)
### [`v1.33.0`](https://redirect.github.com/takahirom/roborazzi/releases/tag/1.33.0)
[Compare Source](https://redirect.github.com/takahirom/roborazzi/compare/1.32.2...1.33.0)
### Experimental Accessibility Test Framework checks
Thanks to [@yschimke](https://redirect.github.com/yschimke), we now have a library that integrates accessibility checks into Roborazzi. It uses the [Accessibility Test Framework](https://redirect.github.com/google/Accessibility-Test-Framework-for-Android) to ensure accessibility.
Please add the library dependency:
```kotlin
testImplementation("io.github.takahirom.roborazzi:roborazzi-accessibility-check:[version]")
```
https://github.com/takahirom/roborazzi/tree/main/roborazzi-accessibility-check
##### Configure in Junit Rule
```kotlin
@get:Rule
val roborazziRule = RoborazziRule(
composeRule = composeTestRule,
captureRoot = composeTestRule.onRoot(),
options = Options(
roborazziAccessibilityOptions = RoborazziATFAccessibilityCheckOptions(
checker = RoborazziATFAccessibilityChecker(
checks = setOf(NoRedTextCheck()),
suppressions = matchesElements(withTestTag("suppress"))
),
failureLevel = RoborazziATFAccessibilityChecker.CheckLevel.Warning
),
// If you want to automatically check accessibility after a test, use AccessibilityCheckAfterTestStrategy.
accessibilityCheckStrategy = AccessibilityCheckAfterTestStrategy(),
)
)
```
##### Add accessibility checks
```kotlin
composeTestRule.onNodeWithTag("nothard").checkRoboAccessibility(
// If you don't specify options, the options in RoborazziRule will be used.
roborazziATFAccessibilityCheckOptions = RoborazziATFAccessibilityCheckOptions(
checker = RoborazziATFAccessibilityChecker(
preset = AccessibilityCheckPreset.LATEST,
),
failureLevel = RoborazziATFAccessibilityChecker.CheckLevel.Warning
)
)
```
Not only is this library designed to make our app accessible to everyone, but I also believe that AI agent testing will be a future trend, and we want to prepare for it. I think this could help make our app accessible to AI as well, enabling agents to interact with it, such as clicking on image buttons using content descriptions. Additionally, we can create custom checks, like NoRedTextCheck, specifically for AI.
#### What's Changed
- Include AI assertion results in the Roborazzi test report by [@takahirom](https://redirect.github.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/552](https://redirect.github.com/takahirom/roborazzi/pull/552)
- Add modules and configurations to dependency diff by [@takahirom](https://redirect.github.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/558](https://redirect.github.com/takahirom/roborazzi/pull/558)
- Update Robolectric 4.14 by [@takahirom](https://redirect.github.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/426](https://redirect.github.com/takahirom/roborazzi/pull/426)
- Add basic ATF A11y checks via AccessibilityCheckAfterTestStrategy and checkRoboAccessibility by [@yschimke](https://redirect.github.com/yschimke) in [https://github.com/takahirom/roborazzi/pull/557](https://redirect.github.com/takahirom/roborazzi/pull/557)
- \[Dependency for sample in Roborazzi, Not a library dependency change]Update dependency androidx.compose.foundation:foundation to v1.7.5 by [@renovate](https://redirect.github.com/renovate) in [https://github.com/takahirom/roborazzi/pull/520](https://redirect.github.com/takahirom/roborazzi/pull/520)
**Full Changelog**: https://github.com/takahirom/roborazzi/compare/1.32.2...1.33.0
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
â™» Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
[ ] If you want to rebase/retry this PR, check this box
This PR contains the following updates:
1.32.2
->1.33.0
1.32.2
->1.33.0
1.32.2
->1.33.0
1.32.2
->1.33.0
1.32.2
->1.33.0
Release Notes
takahirom/roborazzi (io.github.takahirom.roborazzi:roborazzi-junit-rule)
### [`v1.33.0`](https://redirect.github.com/takahirom/roborazzi/releases/tag/1.33.0) [Compare Source](https://redirect.github.com/takahirom/roborazzi/compare/1.32.2...1.33.0) ### Experimental Accessibility Test Framework checks Thanks to [@yschimke](https://redirect.github.com/yschimke), we now have a library that integrates accessibility checks into Roborazzi. It uses the [Accessibility Test Framework](https://redirect.github.com/google/Accessibility-Test-Framework-for-Android) to ensure accessibility. Please add the library dependency: ```kotlin testImplementation("io.github.takahirom.roborazzi:roborazzi-accessibility-check:[version]") ``` https://github.com/takahirom/roborazzi/tree/main/roborazzi-accessibility-check ##### Configure in Junit Rule ```kotlin @get:Rule val roborazziRule = RoborazziRule( composeRule = composeTestRule, captureRoot = composeTestRule.onRoot(), options = Options( roborazziAccessibilityOptions = RoborazziATFAccessibilityCheckOptions( checker = RoborazziATFAccessibilityChecker( checks = setOf(NoRedTextCheck()), suppressions = matchesElements(withTestTag("suppress")) ), failureLevel = RoborazziATFAccessibilityChecker.CheckLevel.Warning ), // If you want to automatically check accessibility after a test, use AccessibilityCheckAfterTestStrategy. accessibilityCheckStrategy = AccessibilityCheckAfterTestStrategy(), ) ) ``` ##### Add accessibility checks ```kotlin composeTestRule.onNodeWithTag("nothard").checkRoboAccessibility( // If you don't specify options, the options in RoborazziRule will be used. roborazziATFAccessibilityCheckOptions = RoborazziATFAccessibilityCheckOptions( checker = RoborazziATFAccessibilityChecker( preset = AccessibilityCheckPreset.LATEST, ), failureLevel = RoborazziATFAccessibilityChecker.CheckLevel.Warning ) ) ``` Not only is this library designed to make our app accessible to everyone, but I also believe that AI agent testing will be a future trend, and we want to prepare for it. I think this could help make our app accessible to AI as well, enabling agents to interact with it, such as clicking on image buttons using content descriptions. Additionally, we can create custom checks, like NoRedTextCheck, specifically for AI. #### What's Changed - Include AI assertion results in the Roborazzi test report by [@takahirom](https://redirect.github.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/552](https://redirect.github.com/takahirom/roborazzi/pull/552) - Add modules and configurations to dependency diff by [@takahirom](https://redirect.github.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/558](https://redirect.github.com/takahirom/roborazzi/pull/558) - Update Robolectric 4.14 by [@takahirom](https://redirect.github.com/takahirom) in [https://github.com/takahirom/roborazzi/pull/426](https://redirect.github.com/takahirom/roborazzi/pull/426) - Add basic ATF A11y checks via AccessibilityCheckAfterTestStrategy and checkRoboAccessibility by [@yschimke](https://redirect.github.com/yschimke) in [https://github.com/takahirom/roborazzi/pull/557](https://redirect.github.com/takahirom/roborazzi/pull/557) - \[Dependency for sample in Roborazzi, Not a library dependency change]Update dependency androidx.compose.foundation:foundation to v1.7.5 by [@renovate](https://redirect.github.com/renovate) in [https://github.com/takahirom/roborazzi/pull/520](https://redirect.github.com/takahirom/roborazzi/pull/520) **Full Changelog**: https://github.com/takahirom/roborazzi/compare/1.32.2...1.33.0Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
â™» Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR was generated by Mend Renovate. View the repository job log.