Workshop calabash android

28
Automação Mobile com

Transcript of Workshop calabash android

Automação Mobile com

Ferramentas, linguagem e plataformas..

Pré - requisitos para rodar o calabash

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 stepsButtons press_user_action_button

press_back_buton

Assertions

Then /^I see the text "([^\"]*)"$/

TextsThen /^I clear "([^\"]*)"$/ do |identifier|

TouchingGiven /^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 Estrutura2. Escrever a Feature3. Executar a Feature4. Criar os Steps Definitions5. Identificar os elementos pelo console6. Atualizar os Steps Definitions7. 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)

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 coleNo 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!

[email protected]