Accessibility testing with Deque

Deque’s axe DevTools for Mobile enables automated accessibility testing for mobile apps using a custom Appium server implementation provided by Deque. Perfecto supports running Deque’s accessibility scans using this Deque Appium server.

Important considerations:

  • The Deque Appium server is not maintained by Perfecto and differs from the standard Appium server used in our environment.

  • As a result, existing Appium scripts written for Perfecto’s standard server may not be compatible with the Deque server.

  • To ensure a smooth testing experience, consider creating dedicated test scripts for use with the Deque Appium server.

Important: This document includes references to a third-party product, Deque’s axe DevTools for Mobile. The user interface and usage of third-party products are subject to change without notice. For the latest published information about axe DevTools for Mobile, see Deque's axe DevTools for Mobile documentation.

Implementation tips

  • Ensure your Appium tests are running on real devices supported by Perfecto.

  • Use the scanName parameter to label scans by test case, screen, or user flow for better traceability.

  • Combine Deque scans with your existing test validations to ensure both functionality and accessibility.

Step 1: Configure Appium capabilities

To use Deque’s accessibility scanning, you must configure the automationName capability based on the platform:

Copy
For Android

  "automationName": "AxeUiAutomator2"
  "appPackage": "<your-app-package>" 
}

where:

  • automationName must be set to AxeUiAutomator2 to enable Deque’s accessibility driver.

  • appPackage is the package name of the Android app under test (already used in UiAutomator2).

Copy
For iOS

  "automationName": "AxeXCUITest"
  "bundleId": "<your-app-bundle-id>" 
}

where:

  • automationName must be set to AxeXCUITest to enable Deque’s accessibility driver.

  • bundleId is the bundle identifier of the iOS app under test (already used in XCUITest).

Step 2: Run an Accessibility scan

When your test is running, you can trigger an accessibility scan using the mobile: axeScan command.

Copy

Example (JavaScript with WebDriver)

const axeSettings = { 
  apiKey: '<your-api-key-here>'
  scanName: '<your-scan-name-here>' // Optional: Customize the scan name 
}; 

const result = await driver.execute('mobile: axeScan', axeSettings);

where: 

  • apiKey is your Deque axe DevTools Mobile API key.

  • scanName (optional) is a custom name for the scan to help identify it in the Deque Dashboard. If not set, the screen’s name or title will be used.

View results

Scans are uploaded to the Deque Dashboard, where you can review accessibility issues, filter by severity, and track improvements over time.