mcpField
T
testcafe-skill

testcafe-skill

github.com/lambdatestTesting & quality384205 installsUpdated 2w ago
Repository

About testcafe-skill

A reference skill for automating browser tests with TestCafe. It is for JavaScript test authors and covers selectors, page models, browser runs, screenshots, and TestMu AI cloud execution.

Key features

  1. 01TestCafe test patterns
  2. 02Selectors and page models
  3. 03Browser and headless run commands
  4. 04Multi-browser test execution
  5. 05Screenshot and window controls
  6. 06TestMu AI cloud setup

Use cases

  1. 01Writing browser tests in JavaScript
  2. 02Running tests across browsers
  3. 03Capturing screenshots for debugging
  4. 04Executing tests on TestMu AI cloud

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/lambdatest/agent-skills --skill testcafe-skill

After installing, type/testcafe-skillin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

reference/
advanced-patterns.md
cloud-integration.md
playbook.md

Details

From the project README

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', '[email protected]')
        .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
BadGoodWhy
await t.wait(5000)Smart assertions with timeoutArbitrary delays
Deep CSS selectorsSelector().withText()Fragile
No error screenshotst.takeScreenshot() on failureMissing debug info

Quick Reference

TaskCommand
Run allnpx testcafe chrome tests/
Run headlessnpx testcafe chrome:headless tests/
Run specificnpx testcafe chrome tests/login.js
Multiple browsersnpx testcafe chrome,firefox tests/
Live modenpx testcafe chrome tests/ --live
Screenshotawait t.takeScreenshot()
Resizeawait t.resizeWindow(1280, 720)

Deep Patterns

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

Comments

Markdown supported