migrate-testcafe-to-codeceptjs

Installation
SKILL.md

Migrate TestCafe → CodeceptJS 4

TestCafe and CodeceptJS share a lot at the surface — both expose a single test-controller verb-set (t.* / I.*), both have lazy chainable selectors, both ship with role-based auth and screenshot/video support. The migration is mostly mechanical, but three foundational differences drive the work:

  1. CodeceptJS does not need await on actions. The recorder auto-queues every I.* call. TestCafe forces await on every action (await t.click(...)); CodeceptJS forbids it on actions and reserves it for grabs (await I.grabTextFrom(...)). This is the single biggest mechanical edit during spec conversion — strip every await from before I.click, I.fillField, I.see*, I.waitFor*, and page-object method calls that return void.
  2. Helpers, not a bundled proxy. TestCafe runs as an HTTP/HTTPS proxy that injects automation into pages; CodeceptJS dispatches I.* to a configured helper. Playwright recommended — closest feel, fastest, supports all three engines (Chromium / Firefox / WebKit) the same way TestCafe did.
  3. First-class abstractions. Page objects, multi-user session(...), the auth plugin, custom helpers, and the customLocator plugin are built in. TestCafe projects accumulate ad-hoc versions of these (Selector-property classes, Role factories, ClientFunction factories) — the migration consolidates them onto framework idioms.

Authoritative reference: node_modules/codeceptjs/docs/ (basics, locators, playwright, custom-helpers, pageobjects).

When to trigger

Any of:

Installs
36
GitHub Stars
1
First Seen
Jun 8, 2026
migrate-testcafe-to-codeceptjs — codeceptjs/skills