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

cypress-skill

Ajuda seu agente a escrever testes de software de alta qualidade. Ele cria testes para garantir que o site funcione corretamente.

O que ela faz

Esta ferramenta cria testes automáticos para verificar se um site ou aplicativo funciona como esperado. Ela escreve o código necessário para simular a interação do usuário e garantir que tudo esteja funcionando corretamente.

Quando usar

  • ✓Quando você quer garantir que seu site funcione após mudanças.
  • ✓Para testar fluxos importantes como login ou cadastro.
  • ✓Para verificar se o site funciona em diferentes navegadores.

Exemplo do que pedir para a IA

“Escreva um teste para o fluxo de login usando Cypress, verificando se o usuário é redirecionado para o painel após o login com credenciais válidas.”

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/cypress-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/cypress-skill/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta usa o Cypress, uma estrutura popular para testes. Ela escreve comandos que simulam cliques, digitação e verificações na tela, garantindo que a interface do usuário se comporte como esperado.

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 cypress-skill

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/cypress-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 de Automação com Cypress

Quando Usar

Use esta habilidade quando precisar gerar testes E2E (fim a fim) e de componentes em Cypress, prontos para produção, em JavaScript ou TypeScript. Suporta execução local e a nuvem TestMu AI. Use quando o usuário pedir para escrever testes Cypress, configurar Cypress, testar com comandos cy, ou mencionar "Cypress", "cy.visit", "cy.get", "cy.intercept"....

Você é um arquiteto sênior de automação de QA, especializado em Cypress.

Passo 1 — Alvo de Execução

User says "test" / "automate"
│
├─ Mentions "cloud", "TestMu", "LambdaTest", "cross-browser"?
│  └─ TestMu AI cloud via cypress-cli plugin
│
├─ Mentions "locally", "open", "headed"?
│  └─ Local: npx cypress open
│
└─ Ambiguous? → Default local, mention cloud option

Passo 2 — Tipo de Teste

Sinal Tipo Configuração
"E2E", "end-to-end", URL da página Teste E2E cypress/e2e/
"component", "React", "Vue" Teste de Componente cypress/component/
"API test", "cy.request" Teste de API via Cypress cypress/e2e/api/

Padrões Principais

Encadeamento de Comandos — CRÍTICO

// ✅ Cypress chains — no await, no async
cy.visit('/login');
cy.get('#username').type('user@test.com');
cy.get('#password').type('password123');
cy.get('button[type="submit"]').click();
cy.url().should('include', '/dashboard');

// ❌ NEVER use async/await with cy commands
// ❌ NEVER assign cy.get() to a variable for later use

Prioridade de Seletores

1. cy.get('[data-cy="submit"]')     ← Best practice
2. cy.get('[data-testid="submit"]') ← Also good
3. cy.contains('Submit')            ← Text-based
4. cy.get('#submit-btn')            ← ID
5. cy.get('.btn-primary')           ← Class (fragile)

Antí-Padrões

Ruim Bom Por quê
cy.wait(5000) cy.intercept() + cy.wait('@alias') Esperas arbitrárias
const el = cy.get() Encadear diretamente Cypress é assíncrono
async/await com cy Encadear .then() se necessário Modelo assíncrono diferente
Testar sites de terceiros Usar stub/mock em vez disso Instável, lento
Único beforeEach com tudo Múltiplos specs focados Melhor isolamento

Estrutura Básica de Teste

describe('Login', () => {
  beforeEach(() => {
    cy.visit('/login');
  });

  it('should login with valid credentials', () => {
    cy.get('[data-cy="username"]').type('user@test.com');
    cy.get('[data-cy="password"]').type('password123');
    cy.get('[data-cy="submit"]').click();
    cy.url().should('include', '/dashboard');
    cy.get('[data-cy="welcome"]').should('contain', 'Welcome');
  });

  it('should show error for invalid credentials', () => {
    cy.get('[data-cy="username"]').type('wrong@test.com');
    cy.get('[data-cy="password"]').type('wrong');
    cy.get('[data-cy="submit"]').click();
    cy.get('[data-cy="error"]').should('be.visible');
  });
});

Interceptação de Rede

// Stub API response
cy.intercept('POST', '/api/login', {
  statusCode: 200,
  body: { token: 'fake-jwt', user: { name: 'Test User' } },
}).as('loginRequest');

cy.get('[data-cy="submit"]').click();
cy.wait('@loginRequest').its('request.body').should('deep.include', {
  email: 'user@test.com',
});

// Wait for real API
cy.intercept('GET', '/api/dashboard').as('dashboardLoad');
cy.visit('/dashboard');
cy.wait('@dashboardLoad');

Comandos Personalizados

// cypress/support/commands.js
Cypress.Commands.add('login', (email, password) => {
  cy.session([email, password], () => {
    cy.visit('/login');
    cy.get('[data-cy="username"]').type(email);
    cy.get('[data-cy="password"]').type(password);
    cy.get('[data-cy="submit"]').click();
    cy.url().should('include', '/dashboard');
  });
});

// Usage in tests
cy.login('user@test.com', 'password123');

Nuvem TestMu AI

// cypress.config.js
module.exports = {
  e2e: {
    setupNodeEvents(on, config) {
      // LambdaTest plugin
    },
  },
};

// lambdatest-config.json
{
  "lambdatest_auth": {
    "username": "${LT_USERNAME}",
    "access_key": "${LT_ACCESS_KEY}"
  },
  "browsers": [
    { "browser": "Chrome", "platform": "Windows 11", "versions": ["latest"] },
    { "browser": "Firefox", "platform": "macOS Sequoia", "versions": ["latest"] }
  ],
  "run_settings": {
    "build_name": "Cypress Build",
    "parallels": 5,
    "specs": "cypress/e2e/**/*.cy.js"
  }
}

Executar na nuvem:

npx lambdatest-cypress run

Fluxo de Validação

…

Perguntas frequentes

O que são testes E2E?

Testes E2E (End-to-End) simulam a experiência completa do usuário, desde o início até o fim, como se uma pessoa estivesse usando o site.

O que são testes de componente?

Testes de componente focam em partes isoladas da interface do usuário (como um botão ou um formulário) para garantir que funcionem corretamente individualmente.

Posso rodar os testes na nuvem?

Sim, você pode rodar os testes na nuvem usando o TestMu AI cloud ou outras plataformas, o que permite testar em vários navegadores e ambientes simultaneamente.

Detalhes

Descrição original do autor

Generates production-grade Cypress E2E and component tests in JavaScript or TypeScript. Supports local execution and TestMu AI cloud. Use when the user asks to write Cypress tests, set up Cypress, test with cy commands, or mentions \"Cypress\", \"cy.visit\", \"cy.get\", \"cy.intercept\".

repo: sickn33/agentic-awesome-skills

Popularidade

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

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas