AUTOMATIZANDO UMA APP HÍBRIDA
ELIAS NOGUEIRA@eliasnogueira
Trilha Mobile
Elias [email protected]
§ QA Engineer, Agile Coach & Trainer na Adaptworks
§ Professor de Pós Graduação na Unisinos/RS
eliasnogueira.com
eliasnogueira
blog.adaptworks.com.br
Diferentes tipos de aplicaçõesA aplicação híbrida roda em um container nativo, mas é um código HTML
Appiumhttp://appium.io
§ Suporta diferentes linguagens de programação
§ Suporta iOS e Android
§ Automatiza apps Nativas, Híbridas e Mobile Apps (Browser)
§ Baseada no Selenium WebDriver (padrão W3C)
§ Suporta todos os tipos de interação mobile• Gestos, Swipe, Rotação, Drag
Criação do Script de TestePassos para a criação do script de teste em qualquer linguagem de programação
DESIREDCAPABILITIES SESSSION (DRIVER) LOCALIZAÇÃO E
MANIPULAÇÃO VALIDAÇÃOSCRIPT DE
AUTOMAÇÃO DE TESTE
1 4
3
PlataformaDispositivoApp
AndroidiOSURL servidor
findElementclickgetTextsendKeysclear
assertEqualsassertTrue
Inspeção dos ElementosÉ necessário inspecionar os elementos web dentro do dispositivo
1 4
3
§ No Google Chrome acessamos a URL chrome://inspect
§ Será apresentado a lista de dispositivos que contém páginas HTML
§ Podemos então inspecionar os elementos web
Dicas na utilização do AppiumDuas dicas básicas que você sempre precisará ao criar um script de teste com Appium
Trocar o contexto sempre!
§ Para que o Appium consiga ver o código HTML é necessário trocar o contextodriver.context(”contexto”)
Esperas Explícitas
§ É necessário inserir uma espera para elementos assíncronos ou que demoram.• Splash | Loading | Show/Hide
Contexto NATIVE_APP Contexto WEBVIEW
Dicas na Automação MobileItens que você sempre precisa ficar atento
1
3
4
Execute testes instalando a app e com ela pré instalada
Teste em diferentes redes (Wi-Fi, 3G…)
Teste requisitos não funcionais
Crie uma suíte focada no usuário final 2
Dicas de uma Suíte de Automação MobileComo construir suites que te darão um feedback mais rápido
Smoke Tests
Testes de Aceitação
Testes Funcionais
Principais testes que vão garantir que sua app não terá erros críticos
Foco na utilização do usuário (fluxo de utilização)
Foco nos critérios de cada funcionalidade
App alvo dos testesPode ser obtida em http://github.com/eliasnogueira/theOneManInventory
Exemplo de automação de app híbrida - JavaExemplo de código para uma app Híbrida usando Java como linguagem
Exemplo de automação de app híbrida - JavaScriptExemplo de código para uma app Híbrida usando Java como linguagem
Projeto no GitHubhttp://github.com/eliasnogueira/appium-hybrid-tdc2016
OBRIDADO!