Appium-Tests mit Digital.ai
Fügen Sie Barrierefreiheitsscans zu Ihren Appium-Tests mit Digital.ai hinzu!
Deque hat sich mit Digital.ai zusammengetan, um Barrierefreiheitstests in Ihre bestehenden automatisierten Test-Workflows zu integrieren. Fügen Sie Barrierefreiheitsscans zu Ihren Appium-Tests mit Axe DevTools Mobile hinzu, führen Sie Ihre Tests auf Digital.ai-Geräten aus und überprüfen Sie dann die Ergebnisse im Axe Developer Hub.
Voraussetzungen:
- Zugang zu Digital.ai Continuous Testing
- Ihre Anwendung hochgeladen zum Digital.ai Application Manager
- Deque-API-Schlüssel
- Ihre Tests laufen mit Appium-Version 2.11.3 oder höher
- Ihre Tests nutzen die AxeUIAutomator oder AxeXCUITest Appium-Treiber (vorinstalliert von Digital.ai)
Wie man Barrierefreiheitsscans durchführt
Digital.ai hat die Axe Appium-Treiber auf ihren Appium-Servern vorinstalliert. Diese Treiber ermöglichen es Ihnen, Barrierefreiheitsscans aus Ihren Appium-Tests heraus durchzuführen. Die Treiber von Deque AxeUiAutomator2 und AxeXCUITest sind von den Treibern UiAutomator2 und XCUITest abgeleitet. Wir verändern, aber ändern nicht die Kernfunktionalität dieser Treiber. Ihre Tests werden wie erwartet ausgeführt, und Sie haben die zusätzliche Möglichkeit, Barrierefreiheitsscans durchzuführen!
Die wichtigsten Schritte zur Konfiguration Ihrer Appium-Tests für Barrierefreiheitstests sind:
- Setzen Sie den Automationsnamen auf
AxeUiAutomator2für Android oderAxeXCUITestfür iOS. (Beachten Sie das Präfix Axe.) - Stellen Sie Ihren Deque-API-Schlüssel zur Authentifizierung bereit.
- Führen Sie das Skript
mobile: axeScanan jeder Stelle in Ihren Tests aus, an der Sie einen Barrierefreiheitsscan durchführen möchten. - Nach dem Ausführen Ihrer Tests auf Digital.ai-Geräten überprüfen Sie Ihre Ergebnisse im Axe Developer Hub.
Siehe unseren Einrichtungsleitfaden für Appium, um zu erfahren, wie Sie Ihre Konfiguration anpassen und die Ergebnisse der Barrierefreiheitsscans optimal nutzen können, um Ihrem Team am besten zu dienen, und sehen Sie eine vollständige Liste von Appium-Beispieltests. Der Einrichtungsleitfaden und die Beispiele sind allgemeiner Natur und enthalten nicht alles, was Sie für die Digital.ai-Integration benötigen.
Beispiele
Die folgenden Beispiele zeigen, wie Sie Ihre Appium-Tests für Barrierefreiheitstests mit der Digital.ai-Plattform konfigurieren. Diese Beispiele sind in Java geschrieben; Appium unterstützt jedoch mehrere Programmiersprachen.
Android
@BeforeMethod
public void setUp() throws MalformedURLException {
desiredCapabilities.setCapability("accessKey", ACCESS_KEY); // Digital.ai's Access Key
desiredCapabilities.setCapability("deviceQuery", "@os='android'");
desiredCapabilities.setCapability("appium:automationName", "AxeUiAutomator2");
desiredCapabilities.setCapability("app", "cloud:com.experitest.ExperiBank/.LoginActivity");
desiredCapabilities.setCapability("appPackage", "com.experitest.ExperiBank");
desiredCapabilities.setCapability("appActivity", ".LoginActivity");
desiredCapabilities.setCapability("appiumVersion", "2.16.2");
driver = new AndroidDriver(new URL("https://<your_cloud_url>/wd/hub"), desiredCapabilities);
Map<String, Object> settings = new HashMap<>();
List<String> tags = new ArrayList<>();
settings.put("apiKey", <DEQUE_API_KEY>); // Deque API Key
settings.put("projectId", <DEVHUB_PROJECT_ID>) // axe Developer Hub Project ID
settings.put("scanName", "Axe driver"); // a customized scan name to better identify scans within the dashboard.
settings.put("tags", tags); // an array of strings to apply to scans as tags.
driver.executeScript("mobile: axeScan", settings);
}iOS
@BeforeMethod
public void setUp() throws MalformedURLException {
desiredCapabilities.setCapability("accessKey", ACCESS_KEY); // Digital.ai's Access Key
desiredCapabilities.setCapability("deviceQuery", "@os='ios'");
desiredCapabilities.setCapability("appium:automationName", "AxeXCUITest");
desiredCapabilities.setCapability("app", "cloud:com.experitest.ExperiBank");
desiredCapabilities.setCapability("bundleId", "com.experitest.ExperiBank");
desiredCapabilities.setCapability("appiumVersion", "2.16.2");
driver = new IOSDriver<>(new URL("https://<your_cloud_url>/wd/hub"), desiredCapabilities);
Map<String, Object> settings = new HashMap<>();
List<String> tags = new ArrayList<>();
settings.put("apiKey", <DEQUE_API_KEY>); // Deque API Key
settings.put("projectId", <DEVHUB_PROJECT_ID>) // axe Developer Hub Project ID
settings.put("scanName", "Axe driver"); // a customized scan name to better identify scans within the dashboard.
settings.put("tags", tags); // an array of strings to apply to scans as tags.
driver.executeScript("mobile: axeScan", settings);
}