SlideShare uma empresa Scribd logo
1 de 43
1
BDD on Mobile
Louise Souza e Ricardo Nacif
Utilizando Cucumber + Appium para executar
testes automatizados em Smartphones
2
Apresentação
Formada em Ciência da Computação,
trabalha com qualidade de software e
automação de testes a 3 anos na
Avenue Code, atuando na criação de
frameworks e casos de testes
automatizados para desktop e mobile.
Utilizando metodologias ágeis, Louise
lidera a equipe de QAs que atuam em
diversos clientes nacionais e
internacionais.
Louise Souza
3
Apresentação
QA Engineer na Avenue Code e
desenvolvedor web, desenvolve
soluções de teste automatizados
utilizando metodologias ágeis. Formado
em Sistemas de Informação, trabalha
com Ruby desde 2011 e acredita que
ferramentas open source são ideais para
um bom processo de CI.
Ricardo Nacif
4
Sumário
1. BDD
2. Cucumber
o Gherkin
3. Selenium
4. Appium
5. Touch Action
Cardápio do dia
5
Objetivo da apresentação
● Testar uma funcionalidade de um site
mobile utilizando práticas Agile:
○ BDD
■ Cucumber
■ Selenium
■ Appium
■ Touch Actions Gem
6
Introdução ao BDD
● Desenvolvimento Guiado por Comportamento
○ Técnica de desenvolvimento ágil
○ Encoraja a colaboração entre
desenvolvedores, QA’s e pessoas não
técnicas
7
Objetivos do BDD
● Resolver os problemas causados pelo TDD
○ Em Destaque: Falta de clareza para a equipe
● Permite que os testes sejam escritos antes do
desenvolvimento
Com o BDD, toda a equipe compreende o
comportamento esperado e os testes são escritos
em forma de frase.
Assim, quando o
desenvolvimento terminar
basta executar os testes
8
BDD Layout
● Utiliza uma linguagem ubíqua para definir o
processo de analise.
As a <Role>
I want <Feature>
So that I Receive <Value>
Como um < Papel>
Eu quero <O que eu quero
alcançar>
Para que <Por que eu quero
alcançar>
9
Exemplo
Validar a quantidade de dígitos do cartão de crédito
informado pelo usuário.
10
Exemplo BDD
Como um usuário de um eCommerce
Eu quero que uma mensagem de erro seja exibida
quando a quantidade de dígitos informada for menor
que 16 caracteres no campo de cartão de crédito
Para que eu possa enviar meus dados de pagamento
corretamente
11
Exemplo BDD
Critérios de aceitação
1. A mensagem de erro deve informar a quantidade
de dígitos esperada
2. Ela deve ser exibida sob o campo de cartão de
crédito
12
Exemplo BDD
13
● Cucumber é um framework de
testes BDD
● Utilizado para automação, torna
extremamente fácil essa interação,
devido a documentação ser
desenvolvida em linguagem usual
● Utiliza a linguagem Gherkin
14
Gherkin
Documentação e Automação
Testes!!!!!
15
Gherkin
● Funcionalidade(Feature)
Um texto conciso que descreva a funcionalidade
● Cenário(Scenario)
Descrição do teste a ser realizado
● Esquema do Cenário(Scenario Outline)
Descrição do teste a ser realizado quando se utiliza
uma tabela
16
Gherkin
● Dado(Given)
Alguma pré condição
● Quando(When)
Alguma ação executada pelo ator(papel)
● Então(Then)
Condição a ser alcançada
● E(And)
Qualquer outro passo complementar
17
Exemplo Cucumber
Para que eu possa adicionar novos amigos
Como um usuário do Facebook Mobile
Eu quero ver as indicações de amigos no meu feed
de notícias
18
Feature File
[Texto/Imagem/Vídeo]
Funcionalidade: Recomendações de amigos no Facebook Mobile
Cenário: Ver as indicações de amizade no feed de notícias
Dado que estou na página inicial do facebook (www.facebook.com)
E que eu estou logado
Quando eu percorrer meu feed de notícias
Então eu devo ver um painel com as indicações de amizade
E eu devo poder deslizar para ver mais indicações
19
Selenium
Selenium é um framework de testes
que permite a automação de testes
de aceitação ou testes de
funcionalidade para executar em um
browser.
20
Appium
● Framework open source de testes
automatizados para smartphones
● Realiza testes em aplicativos nativos e web.
21
Appium
22
Appium - Prós
● Open Source
● Comunidade crescendo a cada dia
● Suporta testes em diferentes versões do
iOS e do Android
23
Appium - Prós
● Utiliza o protocolo WebDriver, o mesmo
do Selenium
● Testes podem ser executados em
dispositivos reais
● É possível rodar os testes em cloud
utilizando serviços como Sauce Labs,
BrowserStack e Testdroid.
24
Appium - Contras
● Para rodar os testes no iOS, você precisa de um
Mac
● Não suporta rodar múltiplos testes em paralelo
● É uma ferramenta em desenvolvimento, possuí
bugs
● Não possuí suporte nativo para simular gestos
em aplicações web
25
Touch Action
Open Source Ruby Gem
26
Gestos TouchAction
Toque
27
Gestos TouchAction
Toque - Duplo
28
Gestos TouchAction
Pressionar
29
Gestos TouchAction
Deslizar
30
Gestos TouchAction
Mover
31
Gestos TouchAction
Pinça
32
Gestos TouchAction
Rotacionar
Script manda um
código javascript
contendo o YUI e o
nome do gesto a
ser executado
junto com as
opções
33
TouchAction Gem
Script
Ruby/Selenium
com a Touch
Action Gem
Servidor do
Appium manda o
código pro
simulador ou
smartphone
34
TouchAction Gem
● Tem suporte para Selenium, Watir
Webdriver e Capybara
● Gestos totalmente configuráveis através
de opções
35
TouchAction Gem
36
Demonstração
37
Feature File
[Texto/Imagem/Vídeo]Cenário: Ver as indicações de amizade no feed de notícias
Dado que estou na página inicial do facebook (www.facebook.com)
E que eu estou logado
Quando eu percorrer meu feed de notícias
Então eu devo ver um painel com as indicações de amizade
E eu devo poder deslizar para ver mais indicações
38
Facebook Automation
FOTO CODIGO
39
Facebook Automation
40
Facebook Automation
41
TouchAction Gem
github.com/Ricardonacif/cucumber_appium
42
jobs.net/jobs/avenuecode/
43
lsouza@avenuecode.com rjunior@avenuecode.com

Mais conteúdo relacionado

Mais procurados

SonarQube: Continuous Code Inspection
SonarQube: Continuous Code InspectionSonarQube: Continuous Code Inspection
SonarQube: Continuous Code InspectionMichael Jesse
 
Test Automation and Selenium
Test Automation and SeleniumTest Automation and Selenium
Test Automation and SeleniumKarapet Sarkisyan
 
Test your microservices with REST-Assured
Test your microservices with REST-AssuredTest your microservices with REST-Assured
Test your microservices with REST-AssuredMichel Schudel
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with AgileKen McCorkell
 
Automation testing & Unit testing
Automation testing & Unit testingAutomation testing & Unit testing
Automation testing & Unit testingKapil Rajpurohit
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework DesignsSauce Labs
 
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaWhat is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaEdureka!
 
Introduction to Selenium | Selenium Tutorial for Beginners | Selenium Trainin...
Introduction to Selenium | Selenium Tutorial for Beginners | Selenium Trainin...Introduction to Selenium | Selenium Tutorial for Beginners | Selenium Trainin...
Introduction to Selenium | Selenium Tutorial for Beginners | Selenium Trainin...Edureka!
 
Unit Tests And Automated Testing
Unit Tests And Automated TestingUnit Tests And Automated Testing
Unit Tests And Automated TestingLee Englestone
 
An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to Test Driven Development CodeOps Technologies LLP
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For AgileNaresh Jain
 

Mais procurados (20)

Devops as a service
Devops as a serviceDevops as a service
Devops as a service
 
SonarQube: Continuous Code Inspection
SonarQube: Continuous Code InspectionSonarQube: Continuous Code Inspection
SonarQube: Continuous Code Inspection
 
Test Automation and Selenium
Test Automation and SeleniumTest Automation and Selenium
Test Automation and Selenium
 
Test your microservices with REST-Assured
Test your microservices with REST-AssuredTest your microservices with REST-Assured
Test your microservices with REST-Assured
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with Agile
 
Automation testing & Unit testing
Automation testing & Unit testingAutomation testing & Unit testing
Automation testing & Unit testing
 
Test Automation Framework Designs
Test Automation Framework DesignsTest Automation Framework Designs
Test Automation Framework Designs
 
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | EdurekaWhat is Jenkins | Jenkins Tutorial for Beginners | Edureka
What is Jenkins | Jenkins Tutorial for Beginners | Edureka
 
Introduction to Selenium | Selenium Tutorial for Beginners | Selenium Trainin...
Introduction to Selenium | Selenium Tutorial for Beginners | Selenium Trainin...Introduction to Selenium | Selenium Tutorial for Beginners | Selenium Trainin...
Introduction to Selenium | Selenium Tutorial for Beginners | Selenium Trainin...
 
DevOps explained
DevOps explainedDevOps explained
DevOps explained
 
Automation using Appium
Automation using AppiumAutomation using Appium
Automation using Appium
 
intro to DevOps
intro to DevOpsintro to DevOps
intro to DevOps
 
Unit Tests And Automated Testing
Unit Tests And Automated TestingUnit Tests And Automated Testing
Unit Tests And Automated Testing
 
Api testing
Api testingApi testing
Api testing
 
Testing microservices with rest assured
Testing microservices with rest assuredTesting microservices with rest assured
Testing microservices with rest assured
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Browser_Stack_Intro
Browser_Stack_IntroBrowser_Stack_Intro
Browser_Stack_Intro
 
An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to Test Driven Development
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
Test Automation Strategies For Agile
Test Automation Strategies For AgileTest Automation Strategies For Agile
Test Automation Strategies For Agile
 

Destaque

Pagando sua dívida técnica à vista
Pagando sua dívida técnica à vistaPagando sua dívida técnica à vista
Pagando sua dívida técnica à vistaDavid Paniz
 
Como o Cucumber Funciona
Como o Cucumber FuncionaComo o Cucumber Funciona
Como o Cucumber FuncionaLaís Berlatto
 
Testes Automatizados e o iOS
Testes Automatizados e o iOSTestes Automatizados e o iOS
Testes Automatizados e o iOSRicardo Valeriano
 
Automação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com AppiumAutomação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com AppiumElias Nogueira
 
Automação de teste de software
Automação de teste de softwareAutomação de teste de software
Automação de teste de softwareQualister
 
Como testar sua aplicação Android e iOS: uma abordagem prática
Como testar sua aplicação Android e iOS: uma abordagem práticaComo testar sua aplicação Android e iOS: uma abordagem prática
Como testar sua aplicação Android e iOS: uma abordagem práticaElias Nogueira
 
Automação para Aplicaticos Móveis - Testes Automáticos Utilizando Appium
Automação para Aplicaticos Móveis - Testes Automáticos Utilizando AppiumAutomação para Aplicaticos Móveis - Testes Automáticos Utilizando Appium
Automação para Aplicaticos Móveis - Testes Automáticos Utilizando AppiumFabio Moura
 
Jefferson Andrade - BDD - Behavior-Driven Development - ITA
Jefferson Andrade - BDD - Behavior-Driven Development - ITAJefferson Andrade - BDD - Behavior-Driven Development - ITA
Jefferson Andrade - BDD - Behavior-Driven Development - ITAJefferson Andrade
 
Automação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverAutomação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverQualister
 

Destaque (12)

Pagando sua dívida técnica à vista
Pagando sua dívida técnica à vistaPagando sua dívida técnica à vista
Pagando sua dívida técnica à vista
 
Como o Cucumber Funciona
Como o Cucumber FuncionaComo o Cucumber Funciona
Como o Cucumber Funciona
 
Testes Automatizados e o iOS
Testes Automatizados e o iOSTestes Automatizados e o iOS
Testes Automatizados e o iOS
 
Automação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com AppiumAutomação de Teste para iOS e Android com Appium
Automação de Teste para iOS e Android com Appium
 
Automação de teste de software
Automação de teste de softwareAutomação de teste de software
Automação de teste de software
 
Como testar sua aplicação Android e iOS: uma abordagem prática
Como testar sua aplicação Android e iOS: uma abordagem práticaComo testar sua aplicação Android e iOS: uma abordagem prática
Como testar sua aplicação Android e iOS: uma abordagem prática
 
Automação para Aplicaticos Móveis - Testes Automáticos Utilizando Appium
Automação para Aplicaticos Móveis - Testes Automáticos Utilizando AppiumAutomação para Aplicaticos Móveis - Testes Automáticos Utilizando Appium
Automação para Aplicaticos Móveis - Testes Automáticos Utilizando Appium
 
BDD em Ação - Testadores 2015
BDD em Ação - Testadores 2015BDD em Ação - Testadores 2015
BDD em Ação - Testadores 2015
 
Jefferson Andrade - BDD - Behavior-Driven Development - ITA
Jefferson Andrade - BDD - Behavior-Driven Development - ITAJefferson Andrade - BDD - Behavior-Driven Development - ITA
Jefferson Andrade - BDD - Behavior-Driven Development - ITA
 
BDD & Cucumber
BDD & CucumberBDD & Cucumber
BDD & Cucumber
 
Automação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverAutomação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriver
 
BDD: Cucumber + Selenium + Java
BDD: Cucumber + Selenium + JavaBDD: Cucumber + Selenium + Java
BDD: Cucumber + Selenium + Java
 

Semelhante a BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizados em smartphones - Louise Souza e Ricardo Nacif

2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao androidMessias Batista
 
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...tdc-globalcode
 
Desenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realDesenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realHenrique Schmidt
 
Desenvolvimento de software mundo ideal x mundo real
Desenvolvimento de software  mundo ideal x mundo realDesenvolvimento de software  mundo ideal x mundo real
Desenvolvimento de software mundo ideal x mundo realWilly Salazar
 
Testes automatizados cp
Testes automatizados cpTestes automatizados cp
Testes automatizados cpcesarvianna
 
Android DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoAndroid DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoiMasters
 
Webinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSWebinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSAmazon Web Services LATAM
 
Livelo - Arquitetura com Atomic Design
Livelo - Arquitetura com Atomic DesignLivelo - Arquitetura com Atomic Design
Livelo - Arquitetura com Atomic DesignWillian Ribeiro Angelo
 
Pwa e o futuro do frontend
Pwa e o futuro do frontendPwa e o futuro do frontend
Pwa e o futuro do frontendRaphael Moraes
 
AutomaçãoWeb - Chaordic Academy
AutomaçãoWeb - Chaordic AcademyAutomaçãoWeb - Chaordic Academy
AutomaçãoWeb - Chaordic AcademyFausto Siqueira
 
Desenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em JavaDesenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em JavaWaldir R. Pires Jr
 
Automação mobile Android - TDC
Automação mobile Android - TDCAutomação mobile Android - TDC
Automação mobile Android - TDCNàtali Cabral
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidRafael Sakurai
 
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...GUTS-RS
 
Apresentação de BDD com SpecFlow e Selenium
Apresentação de BDD com SpecFlow e SeleniumApresentação de BDD com SpecFlow e Selenium
Apresentação de BDD com SpecFlow e SeleniumRafael Cruz, MCT, MBA
 
TDC2016SP - Entrega Contínua com Xamarin: Monte sua esteira
TDC2016SP - Entrega Contínua com Xamarin: Monte sua esteiraTDC2016SP - Entrega Contínua com Xamarin: Monte sua esteira
TDC2016SP - Entrega Contínua com Xamarin: Monte sua esteiratdc-globalcode
 

Semelhante a BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizados em smartphones - Louise Souza e Ricardo Nacif (20)

2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android2017 08-11 - Androidos V - Minicurso - Introdução ao android
2017 08-11 - Androidos V - Minicurso - Introdução ao android
 
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
 
Desenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo realDesenvolvimento de software: Mundo ideal x Mundo real
Desenvolvimento de software: Mundo ideal x Mundo real
 
Desenvolvimento de software mundo ideal x mundo real
Desenvolvimento de software  mundo ideal x mundo realDesenvolvimento de software  mundo ideal x mundo real
Desenvolvimento de software mundo ideal x mundo real
 
Testes automatizados cp
Testes automatizados cpTestes automatizados cp
Testes automatizados cp
 
Android DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimentoAndroid DevConference - Automatizando testes sem sofrimento
Android DevConference - Automatizando testes sem sofrimento
 
Webinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWSWebinar: Introdução à Distribuição Contínua na AWS
Webinar: Introdução à Distribuição Contínua na AWS
 
Livelo - Arquitetura com Atomic Design
Livelo - Arquitetura com Atomic DesignLivelo - Arquitetura com Atomic Design
Livelo - Arquitetura com Atomic Design
 
BDD em Ação
BDD em AçãoBDD em Ação
BDD em Ação
 
Pwa e o futuro do frontend
Pwa e o futuro do frontendPwa e o futuro do frontend
Pwa e o futuro do frontend
 
AutomaçãoWeb - Chaordic Academy
AutomaçãoWeb - Chaordic AcademyAutomaçãoWeb - Chaordic Academy
AutomaçãoWeb - Chaordic Academy
 
Desenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em JavaDesenvolvimento de Aplicações Móveis em Java
Desenvolvimento de Aplicações Móveis em Java
 
Apresentação android
Apresentação androidApresentação android
Apresentação android
 
Automação mobile Android - TDC
Automação mobile Android - TDCAutomação mobile Android - TDC
Automação mobile Android - TDC
 
Apresentação Google Android
Apresentação Google AndroidApresentação Google Android
Apresentação Google Android
 
SESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao AndroidSESTINFO 2011 Apresentacao Android
SESTINFO 2011 Apresentacao Android
 
Metralhando sua API
 Metralhando sua API Metralhando sua API
Metralhando sua API
 
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
[GUTS-RS] Workshop (prático) de Testes Automatizados para dispositivos móveis...
 
Apresentação de BDD com SpecFlow e Selenium
Apresentação de BDD com SpecFlow e SeleniumApresentação de BDD com SpecFlow e Selenium
Apresentação de BDD com SpecFlow e Selenium
 
TDC2016SP - Entrega Contínua com Xamarin: Monte sua esteira
TDC2016SP - Entrega Contínua com Xamarin: Monte sua esteiraTDC2016SP - Entrega Contínua com Xamarin: Monte sua esteira
TDC2016SP - Entrega Contínua com Xamarin: Monte sua esteira
 

Mais de minastestingconference

[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendes
[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendes[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendes
[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendesminastestingconference
 
[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomuceno
[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomuceno[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomuceno
[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomucenominastestingconference
 
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...minastestingconference
 
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...minastestingconference
 
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveiraminastestingconference
 
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...minastestingconference
 
[MTC 2021] Conversa sobre shift left - Douglas Cardoso
[MTC 2021] Conversa sobre shift left - Douglas Cardoso[MTC 2021] Conversa sobre shift left - Douglas Cardoso
[MTC 2021] Conversa sobre shift left - Douglas Cardosominastestingconference
 
[MTC 2021] Sua api está bem documentada - Tainara Santos Reis
[MTC 2021] Sua api está bem documentada - Tainara Santos Reis[MTC 2021] Sua api está bem documentada - Tainara Santos Reis
[MTC 2021] Sua api está bem documentada - Tainara Santos Reisminastestingconference
 
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santosminastestingconference
 
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...minastestingconference
 
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...minastestingconference
 
[MTC 2021] Vieses da qualidade - Daniele Vieira Fiorot
[MTC 2021] Vieses da qualidade -  Daniele Vieira Fiorot[MTC 2021] Vieses da qualidade -  Daniele Vieira Fiorot
[MTC 2021] Vieses da qualidade - Daniele Vieira Fiorotminastestingconference
 
MTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVAS
MTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVASMTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVAS
MTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVASminastestingconference
 
MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...
MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...
MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...minastestingconference
 
MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...
MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...
MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...minastestingconference
 
MTC 2019 - Precisamos falar sobre teste de infra
MTC 2019 - Precisamos falar sobre teste de infraMTC 2019 - Precisamos falar sobre teste de infra
MTC 2019 - Precisamos falar sobre teste de inframinastestingconference
 
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...minastestingconference
 

Mais de minastestingconference (20)

[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendes
[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendes[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendes
[MTC 2021] Automatizando testes de acessibilidade - Isabel Francine Mendes
 
[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomuceno
[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomuceno[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomuceno
[MTC 2021] Será que as escolhas matam a qualidade? - Thais Nepomuceno
 
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
[MTC 2021] Continuous quality, desafios da melhorias contínua e entrega com q...
 
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...
[MTC 2021] Regressão visual com applitools, appium e amazon aws device farm -...
 
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
[MTC 2021] QAs que não codificam e seus 12% de vagas - Paulo César de Oliveira
 
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
[MTC 2021] Tests smells: aquele cheirinho de que algo não está bom no seu cód...
 
[MTC 2021] Conversa sobre shift left - Douglas Cardoso
[MTC 2021] Conversa sobre shift left - Douglas Cardoso[MTC 2021] Conversa sobre shift left - Douglas Cardoso
[MTC 2021] Conversa sobre shift left - Douglas Cardoso
 
[MTC 2021] Sua api está bem documentada - Tainara Santos Reis
[MTC 2021] Sua api está bem documentada - Tainara Santos Reis[MTC 2021] Sua api está bem documentada - Tainara Santos Reis
[MTC 2021] Sua api está bem documentada - Tainara Santos Reis
 
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
[MTC 2021] Do manual ao continuos testing - Jonathan Rodrigo da Silva Santos
 
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
 
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
[MTC 2021] As 8 melhores práticas e formas de simplificar e estruturar todos...
 
[MTC 2021] Vieses da qualidade - Daniele Vieira Fiorot
[MTC 2021] Vieses da qualidade -  Daniele Vieira Fiorot[MTC 2021] Vieses da qualidade -  Daniele Vieira Fiorot
[MTC 2021] Vieses da qualidade - Daniele Vieira Fiorot
 
MTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVAS
MTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVASMTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVAS
MTC 2019 - PENTEST PARA PROTEÇÃO DE REDES CORPORATIVAS
 
MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...
MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...
MTC 2019 - ACESSIBILIDADE: GARANTINDO QUE AS APLICAÇÕES ESTEJAM ACESSÍVEIS PA...
 
MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...
MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...
MTC 2019 - TESTANDO O CONSUMO DE ENERGIA DO SOFTWARE EM IOT: COMO FAZER NA PR...
 
MTC 2019 - Precisamos falar sobre teste de infra
MTC 2019 - Precisamos falar sobre teste de infraMTC 2019 - Precisamos falar sobre teste de infra
MTC 2019 - Precisamos falar sobre teste de infra
 
Selenium WebDriver com Docker
Selenium WebDriver com DockerSelenium WebDriver com Docker
Selenium WebDriver com Docker
 
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
Performance web - Como deixar a sua aplicação rápida, fazendo seus usuári...
 
Saia do 7x0 com testes de segurança
Saia do 7x0 com testes de segurançaSaia do 7x0 com testes de segurança
Saia do 7x0 com testes de segurança
 
QA além da automação
QA além da automaçãoQA além da automação
QA além da automação
 

BDD on Mobile: Utilizando Cucumber e Appium para executar testes automatizados em smartphones - Louise Souza e Ricardo Nacif

Notas do Editor

  1. Appium é um framework de testes que permite que você rode os testes automatizados em smartphones, tanto em aplicativos nativos para iOS e android quanto para applicativos web
  2. Este daqui é o fluxo de um teste automatizado rodando usando o Appium. Basicamente, você escreve seu script em qualquer linguagem desejada (ele suporta as mesmas linguagens que o selenium suporta), esse comando é enviado para o servidor Appium, que comunica com o Apple instruments e manda os comandos pro smartphone
  3. Por ser open source, você pode ajudar a desenvolver, customizar ou resolver bugs. A comunidade já é bem grande e está crescendo mais ainda, então isso ajuda caso você precise de algum suporte. Suporta diferentes versoes de iOS e Android
  4. Ele utiliza o mesmo protocolo json do Selenium, ou seja, se voce já tem scripts feitos pro selenium, eles podem rodar em um smartphone usando o appium Pode executar testes em smartphones reais ou simuladores É possível rodar os testes em algum serviço cloud como Sauce Labs, Browser Stack e Testdroid. A grande vantagem é poder rodar em vários smartphones reais sem precisar tê-los, além de poder rodar multiplis testes ao mesmo tempo.
  5. É necessário um mac pra rodar os testes no iOS A apple só permite um simulador de iOS rodando ao mesmo tempo, então localmente não é possivel rodar os testes em paralelo Um defeito que nós enfrentamos é que o Appium não permite simular gestos touch mais complexos em aplicativos web. Então por exemplo, não é possível simular uma o gesto de deslizar em um site que tenha um carrosel. A gente enfrentou essa necessidade, onde precisavamos testar uma feature que exigia o gesto de deslizar, e acabamos criando a uma gem chamada Touch Action
  6. A Touch Action é uma Ruby gem open source, que adiciona a possibilidade de executar gestos mais complexos como
  7. A gem adiciona esses gestos ao Selenium Webdriver, Watir Webdriver e ao capybara. Podemos passar configurações específicas para os gestos, como por exemplo: Deslizar 80 pixels para a direita, ou rotacionar 30 graus
  8. A gem adiciona esses gestos ao Selenium Webdriver, Watir Webdriver e ao capybara. Podemos passar configurações específicas para os gestos, como por exemplo: Deslizar 80 pixels para a direita, ou rotacionar 30 graus
  9. A gem adiciona esses gestos ao Selenium Webdriver, Watir Webdriver e ao capybara. Podemos passar configurações específicas para os gestos, como por exemplo: Deslizar 80 pixels para a direita, ou rotacionar 30 graus
  10. Agora iremos demonstrar um teste sendo automatizado usando Cucumber, Appium e a gem TouchAction
  11. Aqui está o nosso feature file com o cenário que iremos automatizar. É o cenário de indicações de amizade no feed do Facebook. Pra cada linha dessa, iremos desenvolver um código de automação que irá ser executado no smartphone.
  12. No caso estamos utilizando Ruby, mas poderia ser qualquer outra linguagem supportada pelo Appium. Não vou entrar muito em detalhes do código pois não tem nada de novo. Mas aqui vemos: Dado que estou na pagina… aí o código de automação pra ir pra pagina do Facebook. E estou logado, o código pra logar no facebook.
  13. Eu devo poder deslizar… Pra cada indicação de amizade, a gente checa se ela está visivel, e depois executa o swipe. Como voces podem ver ali, eu chamei o metodo touch_action, passando o gesto a ser executado, e as opcoes (no caso a distancia de -100px)
  14. Explicar o passo a passo do video. Por em camera lenta.
  15. A gem adiciona esses gestos ao Selenium Webdriver, Watir Webdriver e ao capybara. Podemos passar configurações específicas para os gestos, como por exemplo: Deslizar 80 pixels para a direita, ou rotacionar 30 graus