Skip to content

playbook-ui/accessibility-snapshot-ios

Repository files navigation

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

Sample Before After
sample before after

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


Requirements

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

Installation

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