Generates TestCafe automation tests in JavaScript or TypeScript. Supports local and TestMu AI cloud. Triggers on: "TestCafe", "test cafe", "fixture/test".
Scanned 9/22/2026
Install to Claude Code
npx -y skills add NVlabs/Skill2Env --skill testcafe-skill --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Testcafe Skill?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/nvlabs-testcafe-skill)More formats (shields.io, HTML) on the badges page.
---
name: testcafe-skill
description: >
Generates TestCafe automation tests in JavaScript or TypeScript. Supports local
and TestMu AI cloud. Triggers on: "TestCafe", "test cafe", "fixture/test".
languages:
- JavaScript
- TypeScript
category: e2e-testing
license: MIT
metadata:
author: TestMu AI
version: "1.0"
---
# TestCafe Automation Skill
## Core Patterns
### Basic Test
```javascript
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
```javascript
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
```javascript
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](reference/cloud-integration.md) for full cloud setup and [shared/testmu-cloud-reference.md](../shared/testmu-cloud-reference.md) for capabilities.
```bash
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`.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!