Skip to content

GetEvinced/EvinceQuickAccessibilityDemo

Repository files navigation

EvinceQuickAccessibilityDemo

A demo iOS app showcasing how to integrate the Evinced XCUI SDK for automated accessibility testing in your UI test suite.

App Screenshot

Overview

This project demonstrates a minimal SwiftUI app paired with UI tests that use EvincedXCUISDK to detect accessibility issues at test time. The sample test validates that no tappable-area violations exist on the main screen.

Requirements

Requirement Version
Xcode 16+
iOS 18.0+
Swift 5.0+

Getting Started

  1. Clone the repository

    git clone https://github.com/GetEvinced/EvinceQuickAccessibilityDemo.git
    cd EvinceQuickAccessibilityDemo
  2. Open the project in Xcode

    open EvinceQuickAccessibilityDemo.xcodeproj
  3. Resolve packages -- Xcode will automatically fetch the EvincedXCUISDK dependency via Swift Package Manager.

  4. Add your Evinced credentials -- Open EvinceQuickAccessibilityDemoUITests/Constants.swift and replace the placeholders with your serviceAccountId and accessToken.

  5. Run the UI tests -- Select the EvinceQuickAccessibilityDemoUITests scheme and press Cmd + U, or run from the terminal:

    xcodebuild test \
      -project EvinceQuickAccessibilityDemo.xcodeproj \
      -scheme EvinceQuickAccessibilityDemo \
      -destination 'platform=iOS Simulator,name=iPhone 16 Pro'

Project Structure

EvinceQuickAccessibilityDemo/
├── EvinceQuickAccessibilityDemo/           # Main app target
│   ├── EvinceQuickAccessibilityDemoApp.swift
│   ├── ContentView.swift
│   └── Assets.xcassets/
├── EvinceQuickAccessibilityDemoTests/      # Unit tests
│   └── EvinceQuickAccessibilityDemoTests.swift
└── EvinceQuickAccessibilityDemoUITests/    # UI tests (Evinced SDK)
    ├── EvinceQuickAccessibilityDemoUITests.swift
    ├── EvinceQuickAccessibilityDemoUITestsLaunchTests.swift
    └── Constants.swift

How It Works

App

ContentView.swift presents a simple branded screen with a Test button. The button carries an accessibilityIdentifier("testButton") so it can be targeted by UI tests.

UI Tests

EvinceQuickAccessibilityDemoUITests.swift uses the Evinced SDK to scan the running app for accessibility violations:

  1. Setup -- Configures offline credentials and attaches the current test case to EvincedEngine.
  2. Test -- Launches the app, creates an EvincedConfig filtered to tappable-area issues, generates a report, and asserts no issues are found.

CI

The project includes a Build App GitHub Actions workflow (.github/workflows/build.yml).

Running the workflow

  1. Go to the Actions tab and select Build App.
  2. Click Run workflow and choose a destination:
Destination Output
simulator .app for iOS Simulator
device .app for a real iOS device
  1. Once the run finishes, download the .app bundle from the Artifacts section.

Installing on Simulator

xcrun simctl install booted EvinceQuickAccessibilityDemo.app
xcrun simctl launch booted com.evinced.EvinceQuickAccessibilityDemo

Dependencies

Package Version Source
EvincedXCUISDK 1.32.0+ Swift Package Manager

License

See the Evinced SDK license for SDK-specific terms.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages