playbook-ui/accessibility-snapshot-ios

A library for generating snapshot images of components managed by Playbook with accessibility labels.

46

stars

67

commits

Swift

primary language

Jul 22, 2024

updated

playbook-ui.github.io/accessibility-snapshot-ios/documentation/playbookaccessibilitysnapshot
a11y
a11y-testing
accessibility
ios
playbook
snapshot-testing
swift
swiftui
visual-regression-testing
Browse cluster: iOS/Swift development and dependency injection

README

Playbook

PlaybookAccessibilitySnapshot

Swift5 CI Status Lincense
Release Swift Package Manager

PlaybookAccessibilitySnapshot is an extension to Playbook that uses AccessibilitySnapshot to produce snapshots with accessibility information such as activation points and labels.


Usage


AccessibilitySnapshot

final class AccessibilitySnapshotTests: XCTestCase {
    func testTakeAccessibilitySnapshot() throws {
        let directory = ProcessInfo.processInfo.environment["SNAPSHOT_DIR"]!

        try Playbook.default.run(
            AccessibilitySnapshot(
                directory: URL(fileURLWithPath: directory),
                clean: true,
                format: .png,
                keyWindow: UIApplication.shared.windows.first { $0.isKeyWindow },
                devices: [.iPhone11Pro(.portrait)]
            )
        )
    }
}
snapshot
SampleBeforeAfter
samplebeforeafter

Integration with Third-party Tools

The generated snapshot images with accessibility information can be used for more advanced visual regression testing by using a variety of third party tools.

percy

percy

Requirements

  • Swift 5.9+
  • Xcode 15.0+
  • iOS 13.0+

Installation

Swift Package Manager

Select Xcode menu File > Swift Packages > Add Package Dependency... and enter repository URL with GUI.

Repository: https://github.com/playbook-ui/accessibility-snapshot-ios.git

Development

  1. Run make proj at the root of this repository.
  2. Open Example/Example.xcworkspace via Xcode.

License

Playbook is released under the Apache 2.0 License.


Playbook

Contributors

ra1028

54 commits

jiayi-zhou

7 commits

rasberik

6 commits

playbook-ui/accessibility-snapshot-ios

A library for generating snapshot images of components managed by Playbook with accessibility labels.

46

stars

67

commits

Swift

primary language

Jul 22, 2024

updated

playbook-ui.github.io/accessibility-snapshot-ios/documentation/playbookaccessibilitysnapshot
a11y
a11y-testing
accessibility
ios
playbook
snapshot-testing
swift
swiftui
visual-regression-testing
Browse cluster: iOS/Swift development and dependency injection

README

Playbook

PlaybookAccessibilitySnapshot

Swift5 CI Status Lincense
Release Swift Package Manager

PlaybookAccessibilitySnapshot is an extension to Playbook that uses AccessibilitySnapshot to produce snapshots with accessibility information such as activation points and labels.


Usage


AccessibilitySnapshot

final class AccessibilitySnapshotTests: XCTestCase {
    func testTakeAccessibilitySnapshot() throws {
        let directory = ProcessInfo.processInfo.environment["SNAPSHOT_DIR"]!

        try Playbook.default.run(
            AccessibilitySnapshot(
                directory: URL(fileURLWithPath: directory),
                clean: true,
                format: .png,
                keyWindow: UIApplication.shared.windows.first { $0.isKeyWindow },
                devices: [.iPhone11Pro(.portrait)]
            )
        )
    }
}
snapshot
SampleBeforeAfter
samplebeforeafter

Integration with Third-party Tools

The generated snapshot images with accessibility information can be used for more advanced visual regression testing by using a variety of third party tools.

percy

percy

Requirements

  • Swift 5.9+
  • Xcode 15.0+
  • iOS 13.0+

Installation

Swift Package Manager

Select Xcode menu File > Swift Packages > Add Package Dependency... and enter repository URL with GUI.

Repository: https://github.com/playbook-ui/accessibility-snapshot-ios.git

Development

  1. Run make proj at the root of this repository.
  2. Open Example/Example.xcworkspace via Xcode.

License

Playbook is released under the Apache 2.0 License.


Playbook

Contributors

ra1028

54 commits

jiayi-zhou

7 commits

rasberik

6 commits

Languages

Swift

94.1%

Makefile

5.9%