Pular para o conteúdo
SDETRole
SDETRole

Glossário · Automação de UI

Gherkin

Também chamado de: sintaxe Gherkin, linguagem Gherkin, Given-When-Then, Dado-Quando-Então

Definição

A sintaxe em texto simples Given-When-Then (Dado-Quando-Então) usada para escrever cenários BDD em arquivos .feature, executados como testes por ferramentas como o Cucumber.

Gherkin é uma linguagem pequena e estruturada para descrever o comportamento de um software por meio de exemplos. Cada arquivo tem a extensão .feature e contém uma Feature formada por Scenarios, e cada cenário é uma lista de passos que começam com Given (contexto), When (ação) e Then (resultado esperado). Ferramentas como o Cucumber ligam cada passo a uma step definition no código, de modo que o mesmo texto é ao mesmo tempo documentação e teste automatizado.

Exemplo

Feature: Password reset

  Background:
    Given a registered user "ada@example.com"

  Scenario: Reset link is sent for a known email
    When she requests a password reset for "ada@example.com"
    Then a reset email is sent to "ada@example.com"
    And the link expires after 30 minutes

  Scenario Outline: Weak passwords are rejected
    When she sets her new password to "<password>"
    Then she sees the error "<message>"

    Examples:
      | password | message                       |
      | abc      | Use at least 12 characters    |
      | password | This password is too common   |

E uma step definition correspondente em Java com Cucumber:

@When("she sets her new password to {string}")
public void setNewPassword(String password) {
    resetPage.setPassword(password);
}

Palavras-chave que vale conhecer

  • And / But continuam o tipo do passo anterior, para facilitar a leitura.
  • Background roda antes de cada cenário do arquivo. Mantenha-o curto.
  • Scenario Outline com Examples executa o cenário uma vez por linha da tabela, o que é teste orientado a dados no formato Gherkin.
  • Tags como @smoke ou @wip acima de um cenário permitem selecionar subconjuntos para executar.
  • Rule (Gherkin 6 em diante) agrupa cenários sob a regra de negócio que eles ilustram.

O Gherkin também aceita palavras-chave em português (Funcionalidade, Cenário, Dado, Quando, Então) com a diretiva # language: pt no topo do arquivo.

Como escrever bons cenários

  • Um comportamento por cenário. Vários pares When/Then normalmente significam dois cenários.
  • Declarativo, não imperativo. “When she requests a password reset” é melhor do que três passos sobre digitar em campos e clicar em botões.
  • Valores concretos. Exemplos reais (“120.00”, “Gold”) pegam mal-entendidos que frases vagas (“um pedido grande”) escondem.
  • Terceira pessoa ou persona consistente. Misturar “eu”, “o usuário” e personas com nome faz a biblioteca de passos se espalhar.

Digite para buscar em todo o SDETRole.

Busca de texto completo com Pagefind · roda no seu navegador Abrir página de busca →