Appium-testen met Digital.ai
Voeg toegankelijkheidsscans toe aan je Appium-tests met Digital.ai!
Deque heeft een samenwerking met Digital.ai om toegankelijkheidstesten naar je bestaande automatiseringstestworkflows te brengen. Voeg toegankelijkheidsscans toe aan je Appium-tests met Axe DevTools Mobile, voer je tests uit op Digital.ai-apparaten, en bekijk de resultaten in de Axe Developer Hub.
Vereisten:
- Toegang tot Digital.ai Continuous Testing
- Je applicatie geüpload naar de Digital.ai Application Manager
- Deque API-sleutel
- Je tests die draaien op Appium versie 2.11.3 of hoger
- Je tests die gebruikmaken van de AxeUIAutomator of AxeXCUITest Appium-drivers (vooraf geïnstalleerd door Digital.ai)
Hoe toegankelijkheidsscans uit te voeren
Digital.ai heeft de Axe Appium-stuurprogramma's vooraf geïnstalleerd op hun Appium-servers. Deze stuurprogramma's stellen je in staat om toegankelijkheidsscans uit te voeren vanuit je Appium-tests. Deque's AxeUiAutomator2 en AxeXCUITest stuurprogramma's zijn gekopieerd van de UiAutomator2 en XCUITest stuurprogramma's. We kopiëren, maar veranderen de kernfunctionaliteit van deze stuurprogramma's niet. Je tests zullen zoals verwacht verlopen, en je hebt de extra mogelijkheid om toegankelijkheidsscans uit te voeren!
De belangrijkste stappen om je Appium-tests te configureren voor toegankelijkheidstesten zijn:
- Stel de Automation Name in op
AxeUiAutomator2voor Android ofAxeXCUITestvoor iOS. (Let op het Axe voorvoegsel.) - Voorzie je Deque API-sleutel voor authenticatie.
- Voer het script
mobile: axeScanuit op elke plaats in je tests waar je een toegankelijkheidsscan wilt uitvoeren. - Na het uitvoeren van je tests op Digital.ai-apparaten, bekijk je de resultaten in de Axe Developer Hub.
Raadpleeg onze installatiehandleiding voor Appium om te leren hoe je je configuratie kunt aanpassen en de resultaten van toegankelijkheidsscans optimaal kunt benutten voor je team, en zie een volledige lijst van Appium-voorbeeldtests. De installatiegids en voorbeelden zijn algemeen en bevatten niet alles wat je nodig hebt voor de Digital.ai-integratie.
Voorbeelden
De onderstaande voorbeelden tonen hoe je je Appium-tests kunt configureren voor toegankelijkheidstesten met het Digital.ai-platform. Deze voorbeelden zijn geschreven in Java; echter, Appium ondersteunt meerdere programmeertalen.
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);
}