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
Mensagem pronta para colar
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-skillOu 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.mdConteú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\".
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2689
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
cpp-testing
Faz seu agente escrever e melhorar testes para código C++. Ajuda a configurar ferramentas de teste e a corrigir erros.
affaan-m/ECC
csharp-testing
Ajuda seu agente a criar testes para código C# e .NET. Ele usa as melhores práticas para garantir que os testes sejam eficientes e confiáveis.
affaan-m/ECC
django-tdd
Faz seu agente aplicar estratégias de teste para Django com pytest-django e TDD. É útil para escrever testes robustos e garantir a qualidade do código, especialmente para APIs DRF.
affaan-m/ECC