Talking About TestingATT</>
Cypress e Cucumber

Acerte 100% do quiz para continuar

Aula
Prévia gratuita

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 Feature define a funcionalidade sob teste
  • A palavra-chave Scenario descreve o cenário, ou caso de teste
  • A palavra-chave Given define a pré-condição do teste, ou seja, o estado inicial para que aquele cenário seja testado
  • A palavra-chave When define a ação (ou ações) que exercita a aplicação sob teste para um dado cenário
  • A palavra-chave Then define 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 para Given, When ou Then, 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: Login

Scenario

Descreve um único caso de teste, representando um comportamento específico da funcionalidade.

Sintaxe:

Scenario: <description>

Exemplo:

Scenario: successful login

Given

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 form

When

Define a ação ou evento que exercita a funcionalidade sob teste.

Sintaxe:

When <step description>

Exemplo:

When I submit it with valid credentials

Then

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 available

And

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 visible

Exercício 🎯

  1. Dentro da pasta cypress/e2e/, crie uma pasta chamada engagesphere/
  2. Dentro da pasta cypress/e2e/engagesphere/, crie uma pasta chamada cookies/
  3. Dentro da pasta cypress/e2e/engagesphere/cookies/, crie um arquivo chamado cookies.feature
  4. 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 comando npm run cy:open para 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

Pergunta 1 de 2
Pontuação: 0

Qual é o propósito da palavra-chave `Given` em um cenário Gherkin?

Desafio de código

Escreva um arquivo feature de consentimento de cookies

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