Build, debug, and extend end-to-end tests for the OpenClaw Control UI.
This skill material is essentially prompt/documentation for local E2E testing of the OpenClaw Control UI, with no declared secrets or remote endpoints, and it comes from an auditable open-source GitHub repository with very high community adoption. Overall risk is low; the main caveat is that it describes local test processes, browser automation, and local artifact writes as part of the test workflow, not as standalone red flags.
The material explicitly states that no keys or environment variables are required, and the README further advises against using real provider keys, channel credentials, or a real Gateway; there is no indication of collecting, storing, or exfiltrating sensitive credentials.
No remote hosts/endpoints are declared; the documentation describes a local Vite UI, mocked Gateway WebSocket flows, and local browser-based validation, with no factual sign of sending user data to unknown or unrelated external services.
The system flags this as prompt-only; although the README includes local test commands involving node, pnpm, Vitest, and Playwright, these are developer-facing test instructions and do not mean the skill itself has built-in execution privileges or implicit code-running capability.
The documentation mentions writing screenshots and videos to a local `.artifacts/control-ui-e2e/...` directory, but it does not declare broad access to sensitive local data, system-level resources, or permissions beyond what is normally needed for GUI testing.
The source is an open-source GitHub repository, and the system marks it as open-source with extremely high community adoption (about 377k stars), which materially improves auditability and trustworthiness; the undeclared license and unknown maintenance status are minor uncertainties, but not enough on their own to constitute a high-risk red flag.
Copy the install command and let the AI configure it · recommended for beginners
Please install the "control-ui-e2e" skill from askskill: 1. Download https://raw.githubusercontent.com/openclaw/openclaw/main/.agents/skills/control-ui-e2e/SKILL.md 2. Save it as ~/.claude/skills/control-ui-e2e/SKILL.md 3. Reload skills and tell me it's ready
Please write Vitest + Playwright end-to-end tests for the OpenClaw Control UI login, dashboard load, and task start flow, including required mocks, wait conditions, and assertions.
Runnable end-to-end test code covering key interactions, state checks, and stability handling.
Help me build mocked Gateway WebSocket flows for the OpenClaw Control UI, simulating connected, running, completed, and unexpected disconnect scenarios, and add the matching tests.
A test implementation with event simulation that verifies UI behavior across real-time state changes.
Please extend the existing OpenClaw Control UI Playwright tests to automatically save screenshots and videos on failure, and produce browser-execution proof notes that an agent can verify.
An enhanced test setup and code including screenshot/video configuration and verifiable execution result notes.
Use this for Control UI changes that need a real browser flow with deterministic Gateway data.
ui/src/**/*.e2e.test.ts for full GUI flows.ui/src/test-helpers/control-ui-e2e.ts to start the Vite Control UI and install a mocked Gateway WebSocket..browser.test.ts or unit tests for narrow rendering logic; use this E2E lane when the proof should cover routing, app boot, Gateway handshake, requests, and visible UI behavior together.node scripts/run-vitest.mjs run --config test/vitest/vitest.ui-e2e.config.ts --configLoader runner ui/src/ui/e2e/chat-flow.e2e.test.ts
pnpm test:ui:e2e
If dependencies are missing in a Codex worktree, install once with pnpm install; for broad GUI proof or dependency-heavy checks, use Testbox/Crabbox instead of running a wide local pnpm lane.
When running mocked Control UI/dashboard validation for a user-facing feature, produce visual proof by default unless the user explicitly opts out.
pnpm dev:ui:mock -- --port <port>.browser.newContext({ recordVideo: { dir, size }, viewport }), page.screenshot({ path }), and close the context before reporting the video path..artifacts/control-ui-e2e/<short-feature-name>/ or another clearly named local temp directory, and report the absolute paths in the final answer.Start the app server, install the mock before page.goto, then assert both Gateway traffic and visible UI:
const server = await startControlUiE2eServer();
const page = await context.newPage();
const gateway = await installMockGateway(page, {
historyMessages: [{ role: "assistant", content: [{ type: "text", text: "Ready." }] }],
});
await page.goto(`${server.baseUrl}chat`);
await page.locator(".agent-chat__composer-combobox textarea").fill("hello");
await page.getByRole("button", { name: "Send message" }).click();
const request = await gateway.waitForRequest("chat.send");
await gateway.emitChatFinal({ runId: String(request.params.idempotencyKey), text: "Done." });
await page.getByText("Done.").waitFor();
Extend installMockGateway with typed scenario options or method responses when a new flow needs more Gateway surface.
When recording an already-running mocked Control UI URL, use a temporary Playwright script or playwright test spec and keep the recording flow focused:
data-* selectors or user-facing role selectors, and wait on asserted states instead of relying on fixed sleeps.sessions.list was called with the expected search, offset, and limit..artifacts/control-ui-e2e/<feature>/; do not commit it.Generate shareable code or text diffs for review and collaboration.
Automate OpenClaw nightly releases, branch maintenance, and forward-porting to main.
Debug Node.js apps with inspect, breakpoints, heap, and CPU profiling.
Audit and harden OpenClaw hosts for security and operational health.
List chats, review message history, and send iMessage or SMS from CLI.
Run Parallels smoke tests with Discord roundtrip verification across host and guest.
Test UI system behavior and compatibility against the poke example with iwsdk CLI.
Automate web page workflows, login checks, tab handling, and recovery steps.
Automate desktop apps with screen capture, mouse keyboard control, and accessibility targeting.
Choose and run the safest, cheapest OpenClaw test and validation path.
Run, inspect, debug, and extend OpenClaw QA scenarios and artifacts.
Connect AI assistants to OpenClaw agents, sessions, and workspace files.