Appium-testen met Digital.ai
Voeg toegankelijkheidsscans toe aan je Appium-tests met Digital.ai!
Deque is een samenwerking aangegaan met Digital.ai om toegankelijkheidstesten toe te voegen aan je bestaande automatiseringstestworkflows. Voeg toegankelijkheidsscans toe aan je Appium-tests met axe DevTools Mobile, voer je tests uit op Digital.ai-apparaten en bekijk vervolgens de resultaten in deaxe 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-drivers vooraf geïnstalleerd op hun Appium-servers. Deze drivers stellen je in staat om toegankelijkheidsscans uit te voeren vanuit je Appium-tests. Deque's AxeUiAutomator2 en AxeXCUITest drivers zijn geforkt van de UiAutomator2 en XCUITest drivers. We fork maar wijzigen de kernfunctionaliteit van deze drivers niet. Je tests zullen zoals verwacht draaien, 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 uit
mobile: axeScanop elke plaats in je tests waar je een toegankelijkheidsscan wilt uitvoeren. - Na het uitvoeren van je tests op Digital.ai-apparaten, bekijk je je 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 kunt benutten om je team het beste te dienen, en bekijk een volledige lijst van Appium-voorbeeldtests. De installatiehandleiding 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);
}