SlideShare uma empresa Scribd logo
Automação Mobile com
Ferramentas, linguagem e plataformas..
Pré - requisitos para rodar o calabash
Workshop calabash android
Gherkin
- Given/Dado
- When/Quando
- Then/Então
- And/E
Os três princípios do BDD
● O suficiente é suficiente;
● Entregar valor para os stakeholders;
● Tudo é comportamento!
Feature
Scenario
Steps
Criação de cenários de teste e estrutura
Feature
Scenario
Steps
Funcionalidade: Entrega no endereço
Cenário: Escolher um endereço de entrega
Dado que estou na tela Confidence Cambio
Quando escolher a opção Adquirir moeda
em espécie
Então estarei na tela de seleção moeda ou
pais
E devo escolher a moeda "USD"
Criação de cenários de teste e estrutura
Feature
Scenario
Steps
Funcionalidade: Entrega no endereço
Cenário: Posso escolher um endereço de
entrega
Dado que estou na tela Confidence Cambio
Quando escolher a opcao Adquirir moeda
em espécie
Então estarei na tela de seleção moeda ou
pais
E devo escolher a moeda "USD"
Cenário: Posso escolher uma loja
Criação de cenários de teste e estrutura
Criação de cenários de teste e estrutura
Feature
Scenario
Steps
Funcionalidade: Entrega no endereço
Cenário: Posso escolher um endereço de
entrega
Dado que estou na tela Confidence Cambio
Quando escolher a opção “Adquirir moeda em
espécie”
Então estarei na tela de seleção moeda ou
pais
E devo escolher a moeda "USD"
Gherkin
Feature
Scenario
Steps Ruby Code login_step.rb
Ruby
Tradução de linguagem
Principais comandos do Calabash
~$ calabash-android gen
~$ calabash-android console <apk>
~$ start_test_server_in_background
~$ query(“*”)
~$ calabash-android run <apk>
<feature><arquivo.feature>
Principais funções para acessar os componentes
Localizar textos(assertions):
elements_exists, wait_for_elements_exist
Clicar em componentes(Touching - texfield,
buttons,etc):
touch , tap_mark
Preencher um campo(Inputs):
query ,enter_text
Canned steps
Buttons
press_user_action_button
press_back_buton
Assertions
Then /^I see the text "([^"]*)"$/
Texts
Then /^I clear "([^"]*)"$/ do |identifier|
Touching
Given /^I press the "([^"]*)" button$/ do
|text|
Como localizo os componentes?
query (“*”)
Como localizo os componentes?
UiAutomator
Recapitulando os passos para criação
do teste
1. Criação da Estrutura
2. Escrever a Feature
3. Executar a Feature
4. Criar os Steps Definitions
5. Identificar os elementos pelo console
6. Atualizar os Steps Definitions
7. Executar a Feature
Principais dificuldades na automação mobile
● Muitas mudanças de layout, componentes,
textos ,durante o projeto;
● Pouco conhecimento sobre a ferramenta,
linguagem e plataforma;
● Tempo hábil e dedicação(estudo);
● Diferente versões das ferramentas e
comandos obsoletos;
● Configuração e erros.
Boas práticas de automação mobile:
● Plano de cobertura de teste;
● Padronização de componentes;
● Não utilizar IDs internos nas
features(cenários) ;
● Evite referenciar usando textos, prefira
usar id’s nos arquivos ruby;
● Reaproveitar cenários(features) ;
● Pair Programming (QA + DEV)
Desafio - Testing Dojo
Testando o login com o calabash
Como você escreveria o cenário para essa tela?
E para a tela de cadastro?
Etapa 1:
Escreva os cenários usando as palavras
chaves (Dado, Quando, Então, E) para a
tela de cadastro de login com os
seguintes campos: cpf, nome, data de
nascimento,email e senha e demais
necessários.
Obs: O arquivo deve ser salvo com a
extensão .feature
CPF:15442068608
Etapa 2:
Em um terminal, rode o comando do calabash
para gerar os steps, em seguida, copie as
saídas geradas, e cole
No arquivo com extensão .rb ( pasta
step_definitions)
Se atentar ao nome dos arquivos!!!!*
Etapa 3:
Ache os elementos(ids/text) na tela de
cadastro de login dos seguintes campos:
cpf, nome, data de nascimento,email e
senha e demais necessários. Guarde-os para
uso futuro.
Dica: Use o console do calabash ou
UiAutomator do android
Etapa 4:
Edite o arquivo .rb criado anteriormente
e use as funções do Calabash para escrever
a sequência de comandos, utilizando os
elementos encontrados.
Execute o calabash novamente e acompanhe
os steps.
Links Úteis
http://calaba.sh/
http://cukes.info/
https://github.com/calabash
http://testmunk.readthedocs.io/en/latest/android.html
OBRIGADO!
gislaine.melo@dextra-sw.com

Mais conteúdo relacionado

PDF
Geek night-2015
PDF
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
PDF
[Karla e Larissa] Agile Brazil 2018
KEY
Bdd Cucumber
PDF
Desenvolvendo Apps Nativos com Flutter
PDF
Agile Brazil 2018
PPT
BDD com Cucumber
PDF
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver
Geek night-2015
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
[Karla e Larissa] Agile Brazil 2018
Bdd Cucumber
Desenvolvendo Apps Nativos com Flutter
Agile Brazil 2018
BDD com Cucumber
13º É dia de Java: Automação de Testes Funcionais com Selenium Web driver

Destaque (12)

DOC
Trabalho montagem de pc
DOCX
LaWanda Alexander's Resume 2016
PPT
Visual Merchandising Donahue Window
PDF
Come vendere le porte blindate - BAUXT per COLFERT
PPTX
расписание
PDF
Продвижение и реклама стоматологии
PDF
ACER English
PPTX
теоретические основы социокультурного проектирования
PDF
Opinion way intentions-de-vote-et-enjeux-de-la-primaire-du-ps-et-de-ses-allie...
PDF
Balansing cooling system(Water freon)
Trabalho montagem de pc
LaWanda Alexander's Resume 2016
Visual Merchandising Donahue Window
Come vendere le porte blindate - BAUXT per COLFERT
расписание
Продвижение и реклама стоматологии
ACER English
теоретические основы социокультурного проектирования
Opinion way intentions-de-vote-et-enjeux-de-la-primaire-du-ps-et-de-ses-allie...
Balansing cooling system(Water freon)
Anúncio

Último (11)

PPT
Conceitos básicos de Redes Neurais Artificiais
PPTX
Utilizando code blockes por andre backes
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PDF
Jira Software projetos completos com scrum
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PPTX
Eng. Software - pontos essenciais para o início
PPTX
Tipos de servidor em redes de computador.pptx
Conceitos básicos de Redes Neurais Artificiais
Utilizando code blockes por andre backes
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Jira Software projetos completos com scrum
Manejo integrado de pragas na cultura do algodão
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Viasol Energia Solar -Soluções para geração e economia de energia
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Eng. Software - pontos essenciais para o início
Tipos de servidor em redes de computador.pptx
Anúncio

Workshop calabash android