AI RULEBOOKPlaywright End-to-End Testing OpenAI Custom Instructions
Production-grade architectural rulebook for Playwright End-to-End Testing. Engineered to eliminate LLM hallucinations, enforce strict deterministic conventions, and prevent architectural drift across Cursor IDE, Claude Code CLI, and autonomous multi-agent pipelines.
prompts/openai-custom-instructions.mdFailure Patterns Prevented for Playwright End-to-End Testing
AI models frequently write fragile test automation scripts with brittle CSS/XPath selectors (e.g. div > span:nth-child(3)), hardcoded page.waitForTimeout() delays, and un-isolated test state, leading to flaky test suites.
- Invokes deprecated or removed APIs from older model training weights
- Generates conflicting configuration files and invalid imports
- Silently drops type-safety, boundaries, or transaction isolation
Code Standards: Anti-Pattern vs Verified Implementation
// Flaky: Brittle selectors, arbitrary sleep timeouts, and no auto-waiting
test("bad test", async ({ page }) => {
await page.goto("/catalog");
await page.click("div.col-md-4 > button:nth-child(2)"); // Breaks on minor CSS tweak!
await page.waitForTimeout(5000); // Flaky anti-pattern!
const text = await page.innerText("#cart-total");
expect(text).toBe("1");
});import { test, expect } from "@playwright/test";
test.describe("Checkout Flow", () => {
test("allows user to complete cart purchase", async ({ page }) => {
await page.goto("/catalog");
// Accessible, user-facing locators
await page.getByRole("button", { name: "Add to Cart" }).first().click();
await page.getByRole("link", { name: "Cart (1)" }).click();
// Auto-waiting assertions
await expect(page.getByRole("heading", { name: "Your Shopping Cart" })).toBeVisible();
await page.getByRole("button", { name: "Proceed to Checkout" }).click();
await expect(page).toHaveURL(/.*checkout/);
});
});How to Install Playwright End-to-End Testing OpenAI Custom Instructions via Terminal
Step 1: Open Project Directory & Verify Target Placement
Open your terminal and navigate to your project root folder where the prompts/openai-custom-instructions.md file will reside. Ensure the file is placed at the exact path below relative to your project root so the AI engine automatically loads it:
Step 2: Fetch Rule File via Terminal Command
Run curl, PowerShell, or wget to stream the rule directly from the DevScratchpad raw API endpoint and write it to prompts/openai-custom-instructions.md:
Terminal One-Liner Install
Run directly in your project root to stream and write this rule file with one command.
mkdir -p "prompts" && curl -fsSL "https://www.devscratchpad.tech/api/raw/openai-instructions/playwright-e2e" -o "prompts/openai-custom-instructions.md"Step 3: Verify and Activate with AI Agent
Launch your AI coding assistant (Universal AI Assistants). The assistant will automatically discover prompts/openai-custom-instructions.md in your repository and apply the architectural guardrails, type constraints, and verification protocols during code generation.
OpenAI Custom Instructions & System Prompts
Inspect the complete specification manual, glob patterns, directory rules, and all available presets in our central directory.
Pair With Playwright End-to-End Testing Client-Side Utilities
100% private, browser-based utilities to test, format, and inspect code generated by your AI rules.
YAML to JSON / JSON to YAML Converter
Bidirectional YAML and JSON conversion with syntax validation.
Cron Expression Visualizer
Translates complex cron schedules into plain English with a 5-column breakdown grid.
CIDR Calculator & Subnet Inspector
Calculate IPv4 and IPv6 subnet masks, broadcast addresses, and usable ranges.
Base64 / Hex / Binary Multi-Inspector & Image Previewer
Auto-detects and converts between Base64, URL-Safe Base64, Hexadecimal streams, Canonical Hex Dumps, Binary octets, and Data URL images.
Migrating from Legacy .cursorrules or CLAUDE.md?
Use our free, offline converter to transform monolithic rulebooks into modular Cursor .mdc, Claude SKILL.md, and Windsurf Cascade rules.
Technical FAQ: Playwright End-to-End Testing AI Rulebooks
Why are arbitrary sleep timeouts banned?
Arbitrary delays like waitForTimeout waste CI test execution time and still fail randomly under variable network latency. Playwright auto-waiting assertions check conditions dynamically.
Why use getByRole instead of class names?
getByRole verifies that elements are accessible to screen readers and resilient to CSS redesigns.