AUTOMATIZANDO
UMA APP HÍBRIDA
ELIAS NOGUEIRA
@eliasnogueira
Trilha Mobile
Elias Nogueira
enogueira@adaptworks.com.br
§ 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ções
A aplicação híbrida roda em um container nativo, mas é um código HTML
Appium
http://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 Teste
Passos para a criação do script de teste em qualquer linguagem de programação
DESIRED
CAPABILITIES SESSSION (DRIVER) LOCALIZAÇÃO E
MANIPULAÇÃO
VALIDAÇÃO
SCRIPT DE
AUTOMAÇÃO DE
TESTE
1 4
3
Plataforma
Dispositivo
App
Android
iOS
URL servidor
findElement
click
getText
sendKeys
clear
assertEquals
assertTrue
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 Appium
Duas 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
contexto
driver.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 Mobile
Itens 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 Mobile
Como 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 testes
Pode ser obtida em http://github.com/eliasnogueira/theOneManInventory
Exemplo de automação de app híbrida - Java
Exemplo de código para uma app Híbrida usando Java como linguagem
Exemplo de automação de app híbrida - JavaScript
Exemplo de código para uma app Híbrida usando Java como linguagem
Projeto no GitHub
http://github.com/eliasnogueira/appium-hybrid-tdc2016
OBRIDADO!

Automatizando uma app Híbrida

  • 1.
    AUTOMATIZANDO UMA APP HÍBRIDA ELIASNOGUEIRA @eliasnogueira Trilha Mobile
  • 2.
    Elias Nogueira enogueira@adaptworks.com.br § QAEngineer, Agile Coach & Trainer na Adaptworks § Professor de Pós Graduação na Unisinos/RS eliasnogueira.com eliasnogueira blog.adaptworks.com.br
  • 3.
    Diferentes tipos deaplicações A aplicação híbrida roda em um container nativo, mas é um código HTML
  • 4.
    Appium http://appium.io § Suporta diferenteslinguagens 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
  • 5.
    Criação do Scriptde Teste Passos para a criação do script de teste em qualquer linguagem de programação DESIRED CAPABILITIES SESSSION (DRIVER) LOCALIZAÇÃO E MANIPULAÇÃO VALIDAÇÃO SCRIPT DE AUTOMAÇÃO DE TESTE 1 4 3 Plataforma Dispositivo App Android iOS URL servidor findElement click getText sendKeys clear assertEquals assertTrue
  • 6.
    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
  • 7.
    Dicas na utilizaçãodo Appium Duas 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 contexto driver.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
  • 8.
    Dicas na AutomaçãoMobile Itens 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
  • 9.
    Dicas de umaSuíte de Automação Mobile Como 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
  • 10.
    App alvo dostestes Pode ser obtida em http://github.com/eliasnogueira/theOneManInventory
  • 11.
    Exemplo de automaçãode app híbrida - Java Exemplo de código para uma app Híbrida usando Java como linguagem
  • 12.
    Exemplo de automaçãode app híbrida - JavaScript Exemplo de código para uma app Híbrida usando Java como linguagem
  • 13.