Acerte 100% do quiz para continuar
Testando a sua primeira feature
Escreva o seu primeiro arquivo feature em Gherkin, a linguagem que o Cucumber entende.
Ao usar o Cucumber junto com ferramentas de teste automatizado como o Cypress, escrevemos testes em uma linguagem conhecida como Gherkin.
O Gherkin é uma linguagem específica de domínio que permite o uso de algumas palavras-chave para descrever funcionalidades e os seus comportamentos.
Exemplo:
# cypress/e2e/login.feature
Feature: Login
Scenario: successful login
Given I access the Login form
When I submit it with valid credentials
Then I see the logged-in features available- A palavra-chave
Featuredefine a funcionalidade sob teste - A palavra-chave
Scenariodescreve o cenário, ou caso de teste - A palavra-chave
Givendefine a pré-condição do teste, ou seja, o estado inicial para que aquele cenário seja testado - A palavra-chave
Whendefine a ação (ou ações) que exercita a aplicação sob teste para um dado cenário - A palavra-chave
Thendefine o resultado esperado, ou seja, o que deve acontecer após a ação (ou ações) anterior(es) ser(em) executada(s) - A palavra-chave
Andé um alias paraGiven,WhenouThen, e pode ser usada quando a pré-condição, a ação ou o resultado esperado tiver mais de um passo
Visão geral dos comandos 📖
A seguir estão as palavras-chave do Gherkin usadas no exercício desta aula.
Feature
Define a funcionalidade ou capacidade de alto nível que está sendo descrita e testada.
Sintaxe:
Feature: <description>Exemplo:
Feature: LoginScenario
Descreve um único caso de teste, representando um comportamento específico da funcionalidade.
Sintaxe:
Scenario: <description>Exemplo:
Scenario: successful loginGiven
Define o estado inicial ou a pré-condição para que o cenário seja testado.
Sintaxe:
Given <step description>Exemplo:
Given I access the Login formWhen
Define a ação ou evento que exercita a funcionalidade sob teste.
Sintaxe:
When <step description>Exemplo:
When I submit it with valid credentialsThen
Define o resultado esperado após a ação descrita no passo When.
Sintaxe:
Then <step description>Exemplo:
Then I see the logged-in features availableAnd
Um alias para Given, When ou Then. Use-o para adicionar um segundo (ou terceiro) passo à mesma parte do cenário, evitando a repetição da mesma palavra-chave.
Sintaxe:
And <step description>Exemplo:
Feature: Login
Scenario: successful login
Given I access the Login form
And the form is empty
When I fill in my credentials
And I click the submit button
Then I see the logged-in features available
And the login form is no longer visibleExercício 🎯
- Dentro da pasta
cypress/e2e/, crie uma pasta chamadaengagesphere/ - Dentro da pasta
cypress/e2e/engagesphere/, crie uma pasta chamadacookies/ - Dentro da pasta
cypress/e2e/engagesphere/cookies/, crie um arquivo chamadocookies.feature - Por fim, em linguagem Gherkin, escreva um teste para o cenário em que o banner de consentimento de cookies da aplicação EngageSphere é aceito, e outro para quando ele é recusado.
Na Cypress App, execute os testes para garantir que a sua implementação funciona.
Se a Cypress App não estiver aberta, use o comandonpm run cy:openpara abri-la.
Ao rodar os testes, você deve ver um erro indicando que a implementação do passo está faltando. Não se preocupe com isso. Isso acontece porque ainda não a implementamos. Faremos isso na próxima aula.
Mostre ao mundo o que você aprendeu 🌎
Para mostrar à sua rede profissional o que você aprendeu nesta aula, publique o seguinte no LinkedIn.
Estou fazendo o curso "Testes de Ponta a Ponta com Cypress e Cucumber: O Guia Definitivo 🥒" com @Walmyr Lima e Silva Filho na @Talking About Testing School, onde aprendi sobre a linguagem Gherkin para escrever testes automatizados com Cypress e Cucumber. #TalkingAboutTesting #TATSchool #Cypress #Cucumber
👨🏫 Lembre-se de me marcar na sua publicação. Aqui está o meu perfil no LinkedIn.
Quiz
Qual é o propósito da palavra-chave `Given` em um cenário Gherkin?
Desafio de código
Escreva um arquivo feature Gherkin que descreve o cenário em que um usuário aceita o banner de consentimento de cookies na aplicação EngageSphere.
Acerte 100% do quiz para continuar