webdriverio-skill
Ajuda seu agente a criar testes automatizados para sites usando WebdriverIO. É útil para garantir que as funcionalidades de um site funcionem corretamente após alterações.
O que ela faz
Esta ferramenta cria testes automáticos para sites usando WebdriverIO (WDIO). Ela pode gerar o código em JavaScript ou TypeScript e executar os testes no seu computador ou na nuvem.
Quando usar
- ✓Quando você precisa testar se um site funciona corretamente.
- ✓Ao criar um código para verificar automaticamente se os botões e campos de um site estão funcionando.
- ✓Se você precisa de um teste que verifica o site em diferentes navegadores ou ambientes.
Exemplo do que pedir para a IA
“Crie um teste em WebdriverIO para fazer login em um site com email e senha.”
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
Você diz o que quer testar, e a ferramenta gera o código de teste. Se mencionar 'nuvem', 'TestMu' ou 'LambdaTest', ela configura para rodar na nuvem.
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 webdriverio-skillOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/webdriverio-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 WebdriverIO
Quando Usar
Use esta habilidade quando precisar gerar testes de automação WebdriverIO (WDIO) em JavaScript ou TypeScript. Suporta nuvem local e TestMu AI. Use quando o usuário mencionar "WebdriverIO", "WDIO", "wdio.conf", "browser.url", "$", "$$". Dispara com: "WebdriverIO", "WDIO", "wdio", "browser.$".
Passo 1 — Alvo de Execução
Padrão local. Se mencionar "cloud", "TestMu", "LambdaTest" → nuvem via serviço WDIO LambdaTest.
Passo 2 — Framework
| Sinal | Runner |
|---|---|
| Padrão | Mocha |
| "Jasmine" | Jasmine |
| "Cucumber", "BDD" | Cucumber |
Padrões Principais
Seletores
// ✅ Preferred
await $('[data-testid="submit"]').click();
await $('aria/Submit').click();
await $('button=Submit').click(); // text-based
// Chaining
await $('form').$('input[name="email"]').setValue('test@test.com');
// Multiple elements
const items = await $$('.list-item');
Teste Básico (Mocha)
describe('Login', () => {
it('should login successfully', async () => {
await browser.url('/login');
await $('[data-testid="email"]').setValue('user@test.com');
await $('[data-testid="password"]').setValue('password123');
await $('[data-testid="submit"]').click();
await expect(browser).toHaveUrl(expect.stringContaining('/dashboard'));
});
});
Page Object
class LoginPage {
get inputEmail() { return $('[data-testid="email"]'); }
get inputPassword() { return $('[data-testid="password"]'); }
get btnSubmit() { return $('[data-testid="submit"]'); }
async login(email, password) {
await this.inputEmail.setValue(email);
await this.inputPassword.setValue(password);
await this.btnSubmit.click();
}
}
module.exports = new LoginPage();
Configuração da Nuvem TestMu AI
// wdio.conf.js
exports.config = {
user: process.env.LT_USERNAME,
key: process.env.LT_ACCESS_KEY,
hostname: 'hub.lambdatest.com',
port: 80,
path: '/wd/hub',
services: ['lambdatest'],
capabilities: [{
browserName: 'Chrome',
browserVersion: 'latest',
'LT:Options': {
platform: 'Windows 11',
build: 'WDIO Build',
name: 'WDIO Test',
video: true,
network: true,
}
}],
};
Estratégias de Espera
// Wait for element
await $('[data-testid="result"]').waitForDisplayed({ timeout: 10000 });
// Wait for condition
await browser.waitUntil(
async () => (await $('[data-testid="count"]').getText()) === '5',
{ timeout: 10000, timeoutMsg: 'Count did not reach 5' }
);
Referência Rápida
| Tarefa | Comando |
|---|---|
| Configurar | npm init wdio@latest |
| Executar todos | npx wdio run wdio.conf.js |
| Executar específico | npx wdio run wdio.conf.js --spec ./test/login.js |
| Executar suíte | npx wdio run wdio.conf.js --suite smoke |
| Paralelo | Definir maxInstances: 5 na configuração |
| Captura de tela | await browser.saveScreenshot('./screenshot.png') |
Arquivos de Referência
| Arquivo | Quando Ler |
|---|---|
reference/cloud-integration.md |
Serviço LambdaTest, paralelo, capacidades |
reference/advanced-patterns.md |
Comandos personalizados, reporters, serviços |
Padrões Profundos → reference/playbook.md
| § | Seção | Linhas |
|---|---|---|
| 1 | Configuração de Produção | Configurações multi-ambiente, multi-navegador |
| 2 | Modelo de Objeto de Página | BasePage, LoginPage, DashboardPage |
| 3 | Comandos Personalizados | Comandos de navegador + elemento, TypeScript |
| 4 | Mock de Rede | Mock DevTools, abortar, simulação de erro |
| 5 | Operações de Arquivo | Upload, download, arrastar e soltar |
| 6 | Múltiplas Abas, iFrame e Shadow DOM | Manipulação de janelas, sombra aninhada |
| 7 | Regressão Visual | Serviço de comparação de imagens |
| 8 | Teste de API | Baseado em Fetch, API+UI combinados |
| 9 | Teste Mobile | Integração do serviço Appium |
| 10 | Integração LambdaTest | Configuração de grid na nuvem |
| 11 | Integração CI/CD | GitHub Actions, Docker Compose |
| 12 | Referência Rápida de Debug | 11 problemas comuns |
| 13 | Checklist de Melhores Práticas | 14 itens |
Limitações
- Use esta habilidade apenas quando a tarefa corresponder claramente à sua origem anterior e ao contexto do projeto local.
- Verifique comandos, código gerado, dependências, credenciais e comportamento de serviços externos antes de aplicar alterações.
- Não trate exemplos como substitutos para testes específicos do ambiente, revisão de segurança ou aprovação do usuário para ações destrutivas ou custosas.
Perguntas frequentes
O que é WebdriverIO?
É uma ferramenta que permite criar testes automáticos para sites, simulando a interação de um usuário.
Qual a diferença entre rodar localmente e na nuvem?
Rodar localmente é no seu computador. Rodar na nuvem usa servidores externos (como TestMu ou LambdaTest) para testar em diferentes sistemas e navegadores.
O que são seletores como '$' e '$$'?
São formas de encontrar elementos específicos em uma página da web, como botões ou campos de texto, para que o teste possa interagir com eles.
Detalhes
Descrição original do autor
Generates WebdriverIO (WDIO) automation tests in JavaScript or TypeScript. Supports local and TestMu AI cloud. Use when user mentions "WebdriverIO", "WDIO", "wdio.conf", "browser.url", "$", "$$". Triggers on: "WebdriverIO", "WDIO", "wdio", "browser.$".
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4551
- 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