apresentação do powerpoint - dbserver€¦ · selenium webdriver alguns métodos do selenium...

19

Upload: others

Post on 02-Aug-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Apresentação do PowerPoint - DBServer€¦ · Selenium WebDriver Alguns métodos do Selenium WebDriver: // Abstração que permite acessar o histórico e navegar para uma determinada
Page 2: Apresentação do PowerPoint - DBServer€¦ · Selenium WebDriver Alguns métodos do Selenium WebDriver: // Abstração que permite acessar o histórico e navegar para uma determinada

Behaviour-Driven Development

BDD

Cristian Mathias

Felipe Foliatti

Page 3: Apresentação do PowerPoint - DBServer€¦ · Selenium WebDriver Alguns métodos do Selenium WebDriver: // Abstração que permite acessar o histórico e navegar para uma determinada

Desenvolvido em 2003, por

Dan North como uma resposta

ao TDD.

Page 4: Apresentação do PowerPoint - DBServer€¦ · Selenium WebDriver Alguns métodos do Selenium WebDriver: // Abstração que permite acessar o histórico e navegar para uma determinada

Reduz a distância entre negócio e tecnologia.

Utiliza um vocabulário comum.

Foco na entrega de valor.

Page 5: Apresentação do PowerPoint - DBServer€¦ · Selenium WebDriver Alguns métodos do Selenium WebDriver: // Abstração que permite acessar o histórico e navegar para uma determinada

BDD é a “documentação viva”.

Page 6: Apresentação do PowerPoint - DBServer€¦ · Selenium WebDriver Alguns métodos do Selenium WebDriver: // Abstração que permite acessar o histórico e navegar para uma determinada

GHERKIN

Garante um vocabulário simples e consistente para descrever

cenários reais de funcionalidades.

• Funcionalidade

• Contexto

• Cenário

• Quando

• Então

• E

• Ou

• Esquema de Cenário

• Exemplos

Page 7: Apresentação do PowerPoint - DBServer€¦ · Selenium WebDriver Alguns métodos do Selenium WebDriver: // Abstração que permite acessar o histórico e navegar para uma determinada

Funcionalidade (Feature)

Descreve o grupo de testes de uma funcionalidade.

É armazenada em arquivos com a extensão .feature

Exemplo:

Funcionalidade: REQ001Login

Eu como funcionário da DBServer

quero poder me autenticar no sistema XYZ

para ter acesso ao meu ambiente de trabalho

...

Page 8: Apresentação do PowerPoint - DBServer€¦ · Selenium WebDriver Alguns métodos do Selenium WebDriver: // Abstração que permite acessar o histórico e navegar para uma determinada

Cenário (Scenario)

Descreve um comportamento desejado para o sistema.

Uma funcionalidade pode conter vários cenários.

Como o sistema deve se comportar em uma determinada situação.

Exemplo:

Cenário: REQ001 Validar login do administrador

...

Page 9: Apresentação do PowerPoint - DBServer€¦ · Selenium WebDriver Alguns métodos do Selenium WebDriver: // Abstração que permite acessar o histórico e navegar para uma determinada

Dado (Given), Quando (When)

e Então (Then)

Palavras chaves que definem o comportamento e validação de um

cenário.

Exemplo:

Cenário: Estoque indisponível

Dado que o estoque da sandália galinha pintadinha é de 150

unidades

Quando informo uma venda de 200 unidades

Então a venda não é registrada

Page 10: Apresentação do PowerPoint - DBServer€¦ · Selenium WebDriver Alguns métodos do Selenium WebDriver: // Abstração que permite acessar o histórico e navegar para uma determinada

E (And) e Ou (Or)

Complementam os passos Dado, Quando e Então e evitam

sobrecarga.

Exemplo:

Cenário: Estoque indisponível

Dado que o estoque da sandália galinha pintadinha é de 150

unidades

Quando informo uma venda de 151 unidades

OU informo uma venda de 200 unidades

Então a venda não é registrada

E é exibida a mensagem de “estoque insuficiente”

Page 11: Apresentação do PowerPoint - DBServer€¦ · Selenium WebDriver Alguns métodos do Selenium WebDriver: // Abstração que permite acessar o histórico e navegar para uma determinada

Exemplo:

Contexto: O usuário estar logado

Dado que o usuário “cristian.mathias” esteja

logado no sistema

Todos os cenários da funcionalidade executam os passos

especificados no contexto.

Contexto (Background)

Page 12: Apresentação do PowerPoint - DBServer€¦ · Selenium WebDriver Alguns métodos do Selenium WebDriver: // Abstração que permite acessar o histórico e navegar para uma determinada

Esquema do cenário

Possibilita testar diferentes dados que estão estruturados de

forma tabular.

Esquema de cenário: Aritmética simples

Quando calcular o <operando1> <operacao> <operando2>

Então o resultado deve ser <resultadoEsperado>

Exemplos:

| operando1 | operacao |operando2 | resultadoEsperado |

| 3 | + | 3 | 6 |

| 2 | * | 2 | 4 |

Page 13: Apresentação do PowerPoint - DBServer€¦ · Selenium WebDriver Alguns métodos do Selenium WebDriver: // Abstração que permite acessar o histórico e navegar para uma determinada

• Framework open-source.

• Primeira versão em 2009.

• Permite escrever e executar especificações

dentro do Visual Studio.

• Code completion e syntax highlighting para

GHERKIN.

• http://www.specflow.org/

Specflow – Cucumber for .net

Page 14: Apresentação do PowerPoint - DBServer€¦ · Selenium WebDriver Alguns métodos do Selenium WebDriver: // Abstração que permite acessar o histórico e navegar para uma determinada

• Navegar entre as páginas.

• Submeter formulários.

• Selecionas menus.

• Preencher campos texto.

• Procurar elementos html.

Selenium WebDriver

Permite automatizar ações do navegador.

Page 15: Apresentação do PowerPoint - DBServer€¦ · Selenium WebDriver Alguns métodos do Selenium WebDriver: // Abstração que permite acessar o histórico e navegar para uma determinada

Selenium WebDriver

Alguns métodos do Selenium WebDriver:

// Encontra todos os elementos de uma tela HTML através de um

dado argumento.

driver.findElements(By by);

// Encontra o primeiro elemento de uma tela HTML através de um

dado argumento.

driver.findElement(By by);

// Fecha a janela corrente.

driver.close();

Page 16: Apresentação do PowerPoint - DBServer€¦ · Selenium WebDriver Alguns métodos do Selenium WebDriver: // Abstração que permite acessar o histórico e navegar para uma determinada

Selenium WebDriver

Alguns métodos do Selenium WebDriver:

// Abstração que permite acessar o histórico e navegar para uma

determinada URL.

driver.navigate();

// Insere caracteres num determinado elemento da tela.

elemento.sendKeys();

// Envia dados para o servidor se o elemento em questão for um

formulário.

elemento.submit();

Page 17: Apresentação do PowerPoint - DBServer€¦ · Selenium WebDriver Alguns métodos do Selenium WebDriver: // Abstração que permite acessar o histórico e navegar para uma determinada

Hands-onBDD + Specflow + Selenium WebDriver

https://github.com/cristianmathias/Demo-BDD-Specflow-WebDriver

Page 18: Apresentação do PowerPoint - DBServer€¦ · Selenium WebDriver Alguns métodos do Selenium WebDriver: // Abstração que permite acessar o histórico e navegar para uma determinada

Obrigado!

Cristian Mathias

[email protected]

Felipe Foliatti

[email protected]

Page 19: Apresentação do PowerPoint - DBServer€¦ · Selenium WebDriver Alguns métodos do Selenium WebDriver: // Abstração que permite acessar o histórico e navegar para uma determinada

Referencias

http://www.devmedia.com.br/introducao-aos-testes-funcionais-

automatizados-com-junit-e-selenium-webdriver/28037

http://elemarjr.net/2012/04/11/bdd-na-prtica-parte-1-conceitos-

bsicos-e-algum-cdigo/

http://elemarjr.net/2012/04/12/bdd-na-prtica-parte-3-gherkin/