← All skills

TestCafe Skill

E2e testingJavaScriptTypeScript

Copy and Paste in your Terminal

npx skills add https://github.com/LambdaTest/agent-skills.git --skill testcafe-skill

Documentation

Full skill reference (SKILL.md). For more implementation detail, see the Playbook and Advanced patterns tabs.

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

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.