Initial commit
This commit is contained in:
81
commands/generate-test.md
Normal file
81
commands/generate-test.md
Normal file
@@ -0,0 +1,81 @@
|
||||
# Generate Test Command
|
||||
|
||||
## Description
|
||||
|
||||
Generate a production-ready Playwright E2E test from a natural language description. Creates TypeScript test files following best practices including data-testid locators, AAA pattern, and proper async/await usage.
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
/generate-test [description]
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
- `description` - Natural language description of the test scenario (required)
|
||||
|
||||
## Examples
|
||||
|
||||
```
|
||||
/generate-test Login flow with valid credentials
|
||||
```
|
||||
|
||||
```
|
||||
/generate-test Add item to cart and complete checkout
|
||||
```
|
||||
|
||||
```
|
||||
/generate-test Form validation for empty email field
|
||||
```
|
||||
|
||||
## Instructions for Claude
|
||||
|
||||
When this command is invoked:
|
||||
|
||||
1. **Invoke the test-generator skill** to handle the test generation
|
||||
2. **Gather requirements** from the user:
|
||||
- Feature/functionality to test
|
||||
- User flow or scenario
|
||||
- Expected outcomes
|
||||
- Page URLs involved
|
||||
- data-testid values (or suggest them)
|
||||
|
||||
3. **Generate the test file** following these requirements:
|
||||
- TypeScript file with `.spec.ts` extension
|
||||
- Use only data-testid locators
|
||||
- Follow AAA pattern (Arrange-Act-Assert)
|
||||
- Include proper async/await
|
||||
- Add explicit waits (no hardcoded timeouts)
|
||||
- Include meaningful assertions
|
||||
- Add comments for clarity
|
||||
|
||||
4. **Create supporting files if needed**:
|
||||
- `playwright.config.ts` if first test
|
||||
- Custom fixtures if needed
|
||||
- Utility functions if reusable
|
||||
|
||||
5. **Provide usage instructions**:
|
||||
- How to run the test
|
||||
- What data-testid values need to be added to UI
|
||||
- How to debug if it fails
|
||||
|
||||
6. **Validate the generated test**:
|
||||
- Ensure only data-testid locators
|
||||
- Check for proper waits
|
||||
- Verify AAA structure
|
||||
- Confirm TypeScript types
|
||||
|
||||
## Error Handling
|
||||
|
||||
- If description is too vague, ask clarifying questions
|
||||
- If missing required information (URLs, element names), prompt user
|
||||
- If data-testid values aren't provided, suggest semantic names
|
||||
- Warn if the test scenario seems too complex for a single test
|
||||
|
||||
## Notes
|
||||
|
||||
- Tests should be focused and test one specific behavior
|
||||
- Always use data-testid for locators (MANDATORY)
|
||||
- Include explicit waits, never use waitForTimeout()
|
||||
- Follow Playwright and TypeScript best practices
|
||||
- Ensure tests are maintainable and readable
|
||||
Reference in New Issue
Block a user