Pular para o conteúdo
Skillpedia
Testes48 mil · #2689

cucumber-skill

Ajuda seu agente a criar testes automatizados usando Gherkin. É útil para definir comportamentos esperados de forma clara e legível.

O que ela faz

Esta ferramenta cria testes automáticos para verificar se um software funciona como esperado. Ela usa uma linguagem chamada Gherkin para descrever os passos de teste, como 'Dado que estou na página de login', 'Quando clico no botão' e 'Então vejo uma mensagem'.

Quando usar

  • ✓Quando você quer testar se um login funciona.
  • ✓Quando você precisa descrever como um usuário interage com um site.
  • ✓Quando você quer garantir que uma funcionalidade do software não quebre.

Exemplo do que pedir para a IA

“Crie um teste Gherkin para o login de usuário com sucesso.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/cucumber-skill/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/cucumber-skill/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta gera arquivos que descrevem os testes em Gherkin e o código (em Java, JavaScript ou Ruby) que executa esses testes. Isso ajuda a garantir que o software se comporte de maneira previsível.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill cucumber-skill

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/cucumber-skill/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Habilidade Cucumber BDD

Quando Usar

Use esta habilidade quando precisar gerar testes Cucumber BDD com arquivos de funcionalidade Gherkin e definições de passos em Java, JavaScript ou Ruby. Use quando o usuário mencionar "Cucumber", "Gherkin", "Feature/Scenario", "Given/When/Then", "BDD". Gatilhos em: "Cucumber", "Gherkin", "BDD", "Feature file", "Given/When/Then", "step...

Padrões Principais

Arquivo de Funcionalidade (Gherkin)

Feature: User Login
  As a registered user
  I want to log into the application
  So that I can access my dashboard

  Background:
    Given I am on the login page

  Scenario: Successful login
    When I enter "user@test.com" in the email field
    And I enter "password123" in the password field
    And I click the login button
    Then I should be redirected to the dashboard
    And I should see "Welcome" on the page

  Scenario: Invalid credentials
    When I enter "wrong@test.com" in the email field
    And I enter "wrongpass" in the password field
    And I click the login button
    Then I should see an error message "Invalid credentials"

  Scenario Outline: Login with various users
    When I enter "<email>" in the email field
    And I enter "<password>" in the password field
    And I click the login button
    Then I should see "<result>"

    Examples:
      | email           | password    | result     |
      | admin@test.com  | admin123    | Dashboard  |
      | user@test.com   | password    | Dashboard  |
      | bad@test.com    | wrong       | Error      |

Definições de Passos — Java

import io.cucumber.java.en.*;
import static org.junit.jupiter.api.Assertions.*;

public class LoginSteps {
    private LoginPage loginPage;
    private DashboardPage dashboardPage;

    @Given("I am on the login page")
    public void iAmOnTheLoginPage() {
        loginPage = new LoginPage(driver);
        loginPage.navigate();
    }

    @When("I enter {string} in the email field")
    public void iEnterEmail(String email) {
        loginPage.enterEmail(email);
    }

    @When("I enter {string} in the password field")
    public void iEnterPassword(String password) {
        loginPage.enterPassword(password);
    }

    @When("I click the login button")
    public void iClickLogin() {
        dashboardPage = loginPage.clickLogin();
    }

    @Then("I should be redirected to the dashboard")
    public void iShouldBeOnDashboard() {
        assertTrue(driver.getCurrentUrl().contains("/dashboard"));
    }

    @Then("I should see {string} on the page")
    public void iShouldSeeText(String text) {
        assertTrue(dashboardPage.getPageSource().contains(text));
    }
}

Definições de Passos — JavaScript

const { Given, When, Then } = require('@cucumber/cucumber');
const { expect } = require('chai');

Given('I am on the login page', async function() {
  await this.page.goto('/login');
});

When('I enter {string} in the email field', async function(email) {
  await this.page.fill('#email', email);
});

When('I click the login button', async function() {
  await this.page.click('button[type="submit"]');
});

Then('I should see {string} on the page', async function(text) {
  const content = await this.page.textContent('body');
  expect(content).to.include(text);
});

Hooks

import io.cucumber.java.*;

public class Hooks {
    @Before
    public void setUp(Scenario scenario) {
        driver = new ChromeDriver();
    }

    @After
    public void tearDown(Scenario scenario) {
        if (scenario.isFailed()) {
            byte[] screenshot = ((TakesScreenshot) driver).getScreenshotAs(OutputType.BYTES);
            scenario.attach(screenshot, "image/png", "failure-screenshot");
        }
        driver.quit();
    }
}

Tags

@smoke
Feature: Login
  @critical @fast
  Scenario: Quick login
    ...

  @slow @regression
  Scenario: Full login flow
    ...
# Run by tag
mvn test -Dcucumber.filter.tags="@smoke"
mvn test -Dcucumber.filter.tags="@smoke and not @slow"

Anti-Padrões

Ruim Bom Por quê
Detalhes de UI no Gherkin Linguagem de negócios Legibilidade
Um passo por linha de código Passos de negócio significativos Abstração
Sem Background para passos compartilhados Usar Background DRY
Passos imperativos Passos declarativos Manutenível

Execução na Nuvem no TestMu AI

Defina variáveis de ambiente: LT_USERNAME, LT_ACCESS_KEY

Java:

// CucumberHooks.java

…
Perguntas frequentes

O que é Gherkin?

Gherkin é uma linguagem simples e legível por humanos usada para escrever os passos dos testes. Ela usa palavras como 'Dado', 'Quando' e 'Então' para descrever o comportamento esperado.

O que são 'Step Definitions'?

São os trechos de código (em linguagens como Java, JavaScript ou Ruby) que dizem ao computador o que fazer para cada passo escrito em Gherkin. Eles conectam a descrição do teste à ação real no software.

Para que servem os 'Tags'?

Tags são como etiquetas que você pode colocar nos seus testes (por exemplo, '@smoke' ou '@regression'). Elas permitem que você escolha quais testes executar, como rodar apenas os testes mais importantes.

Detalhes

Descrição original do autor

Generates Cucumber BDD tests with Gherkin feature files and step definitions in Java, JavaScript, or Ruby. Use when user mentions \"Cucumber\", \"Gherkin\", \"Feature/Scenario\", \"Given/When/Then\", \"BDD\".

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2689
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas