LambdaTest

testcafe-skill Skill

生成 JavaScript 或 TypeScript 的 TestCafe 自动化测试。支持本地和 TestMu AI 云。触发词:"TestCafe"、"test cafe"、"fixture/test"。

安装方式:把技能目录放入 ~/.claude/skills/(Claude Code)或在 claude.ai 设置中启用;也可复制右侧安装命令一键添加。

查看源码

技能指令原文(SKILL.md)

TestCafe Automation Skill

Core Patterns

Basic Test

import { Selector } from 'testcafe';

fixture('Login').page('https://example.com/login');

test('Login with valid credentials', async t => {
    await t
        .typeText('#username', 'user@test.com')
        .typeText('#password', 'password123')
        .click('button[type="submit"]')
        .expect(Selector('.dashboard').exists).ok();
});

Selectors

const submitBtn = Selector('button').withText('Submit');
const listItems = Selector('.item').count;
const nthItem = Selector('.item').nth(2);
const filtered = Selector('.item').withAttribute('data-status', 'active');

Page Model

import { Selector, t } from 'testcafe';

class LoginPage {
    constructor() {
        this.usernameInput = Selector('#username');
        this.passwordInput = Selector('#password');
        this.submitButton = Selector('button[type="submit"]');
    }
    async login(username, password) {
        await t
            .typeText(this.usernameInput, username)
            .typeText(this.passwordInput, password)
            .click(this.submitButton);
    }
}
export default new LoginPage();

TestMu AI Cloud

See reference/cloud-integration.md for full cloud setup and shared/testmu-cloud-reference.md for capabilities.

export LT_USERNAME=your_username
export LT_ACCESS_KEY=your_key
npx testcafe "lambdatest:Chrome@latest:Windows 11" tests/

Anti-Patterns

| Bad | Good | Why |
|-----|------|-----|
| await t.wait(5000) | Smart assertions with timeout | Arbitrary delays |
| Deep CSS selectors | Selector().withText() | Fragile |
| No error screenshots | t.takeScreenshot() on failure | Missing debug info |

Quick Reference

| Task | Command |
|------|---------|
| Run all | npx testcafe chrome tests/ |
| Run headless | npx testcafe chrome:headless tests/ |
| Run specific | npx testcafe chrome tests/login.js |
| Multiple browsers | npx testcafe chrome,firefox tests/ |
| Live mode | npx testcafe chrome tests/ --live |
| Screenshot | await t.takeScreenshot() |
| Resize | await t.resizeWindow(1280, 720) |

Deep Patterns

For advanced patterns, debugging guides, CI/CD integration, and best practices,
see reference/playbook.md.