A web-based tool to convert plain English test steps into executable test code for Playwright, Cypress, and TestCafe.
✨ Multi-Framework Support: Generate code for Playwright, Cypress, or TestCafe
📝 Plain English Steps: Write test steps in natural language
🤖 AI Step Suggestions: Intelligent autocomplete with 34+ pre-built suggestions
🧪 Test Data Management: Variables, CSV datasets, and data-driven runs
🎯 Selector Helper: Capture, validate, and test CSS/XPath selectors
🎨 Custom Step Templates: Create your own reusable step patterns
📁 Import/Export: Import from CSV, export test steps
💾 Download Code: Get ready-to-use test files
🔧 Custom Mappings: Extend functionality with custom step patterns
📊 Analytics Ready: Built-in support for Google Analytics 4 and Plausible Analytics
npm installnpm run devOpen http://localhost:5173 in your browser.
npm run build
npm run preview- Select Framework: Choose Playwright, Cypress, or TestCafe
- Add Test Steps: Enter steps in plain English, e.g.:
navigate to https://example.com click #submit-button type Hello World into #input-field see text Welcome - Generate Code: Code is automatically generated
- Download/Copy: Use the generated code in your test files
Create your own step patterns for reusable actions:
Example: Instead of multiple steps, create one:
- Pattern:
login as {username} with password {password} - Code:
await page.fill('#username', '{username}'); await page.fill('#password', '{password}'); await page.click('#login-btn');
📖 Full Guide: See CUSTOM_STEPS.md for detailed instructions
- 📖 Getting Started Guide - Complete setup and usage guide
- 🤖 Autocomplete Feature - AI step suggestions guide
- 🎯 Selector Helper - Capture and validate CSS/XPath selectors
- 🧪 Test Data Management - Variables, CSV datasets, parameterized tests
- 🎯 Custom Steps Guide - Create and manage custom step templates
- ⚡ Quick Reference - Fast lookup for custom steps
- 📊 Analytics Setup - Configure Google Analytics 4 or Plausible Analytics
- 🤝 Contributing - How to contribute to this project
navigate to {url}- Navigate to a URLgo back- Navigate back in browser historygo forward- Navigate forward in browser historyrefresh page- Reload the current page
click {selector}- Click an elementdouble click {selector}- Double-click an elementright click {selector}- Right-click an elementhover over {selector}- Hover over an elementtype {text} into {selector}- Type text into an input fieldclear {selector}- Clear an input fieldselect {option} from {selector}- Select option from dropdowncheck {selector}- Check a checkbox/radio buttonuncheck {selector}- Uncheck a checkboxpress {key} on {selector}- Press a key on an elementpress {key}- Press a keyboard keyscroll to {selector}- Scroll to an element
see text {text}- Verify text is visible on pagesee element {selector}- Verify element is visiblenot see element {selector}- Verify element is not visibleverify {selector} contains {text}- Verify element contains textverify {selector} has value {value}- Verify input valueverify {selector} has {count} items- Verify element count
wait for {selector}- Wait for element to appearwait for text {text}- Wait for text to appear
take screenshot- Take a full page screenshottake screenshot of {selector}- Take screenshot of element
Use the "Custom Steps" button to add your own patterns. See CUSTOM_STEPS.md for examples.
Check the examples/ folder for sample files:
sample-test-steps.csv- CSV format test stepssample-test-steps.json- JSON format test stepssample-mappings.yaml- Custom step mappings
- React 18
- Vite
- Tailwind CSS
- Lucide React Icons
MIT
GitHub: 77QAlab/step-to-code-generator