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
Mensagem pronta para colar
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-skillOu 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.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 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\".
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2697
- 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