Testes com Appium e Digital.ai
Adicione varreduras de acessibilidade aos seus testes Appium com a Digital.ai!
A Deque fez uma parceria com Digital.ai para trazer testes de acessibilidade aos seus fluxos de trabalho de testes de automação existentes. Adicione varreduras de acessibilidade aos seus testes Appium com o axe DevTools Mobile, execute seus testes em dispositivos da Digital.ai e, em seguida, revise os resultados noaxe Developer Hub.
Pré-requisitos:
- Acesso ao Teste Contínuo Digital.ai
- Seu aplicativo carregado no Gerenciador de Aplicativos Digital.ai
- Chave de API Deque
- Seus testes executados na versão 2.11.3 ou superior do Appium
- Seus testes usando os drivers Appium AxeUIAutomator ou AxeXCUITest (pré-instalados pela Digital.ai)
Como Realizar Varreduras de Acessibilidade
A Digital.ai pré-instalou os drivers axe Appium em seus servidores Appium. Esses drivers permitem que você execute varreduras de acessibilidade a partir de seus testes Appium. Os drivers da Deque AxeUiAutomator2 e AxeXCUITest são derivados dos drivers UiAutomator2 e XCUITest . Nós os derivamos, mas não alteramos a funcionalidade principal desses drivers. Seus testes serão executados como esperado, e você terá a capacidade adicional de realizar varreduras de acessibilidade!
As etapas principais para configurar seus testes Appium para testes de acessibilidade são:
- Defina o Nome da Automação como
AxeUiAutomator2para Android ouAxeXCUITestpara iOS. (Observe o prefixo Axe .) - Forneça sua chave de API Deque para autenticação.
- Execute o script
mobile: axeScanem cada lugar nos seus testes onde você gostaria de realizar uma varredura de acessibilidade. - Após executar seus testes em dispositivos Digital.ai, revise seus resultados no axe Developer Hub.
Consulte nosso guia de configuração para Appium para aprender a personalizar sua configuração e aproveitar os resultados das varreduras de acessibilidade para melhor atender sua equipe, e veja uma lista completa de testes de exemplo Appium. O guia de configuração e os exemplos são gerais e não contêm tudo que você precisa para a integração com a Digital.ai.
Exemplos
Os exemplos abaixo mostram como configurar seus testes Appium para testes de acessibilidade com a plataforma Digital.ai. Esses exemplos estão escritos em Java; no entanto, o Appium suporta múltiplas linguagens de programação.
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);
}