An intelligent automated testing framework that analyzes websites and generates relevant test scenarios.
- Website Analysis
- Automatic structure detection
- Feature identification
- Test scenario suggestions
- One-click test execution
- Test Generation
- Form testing
- Navigation flows
- Dynamic content
- Authentication flows
- Test Execution
- Natural language commands
- Cross-browser support
- Screenshot capture
- Detailed reporting
- Install dependencies:
pip install -r requirements.txt
- Launch the web interface:
python run_web_interface.py
- Open http://localhost:5000 and:
- Enter your website URL
- Click "Analyze Website"
- Review suggested test scenarios
- Run or customize tests
The framework can analyze websites and suggest tests based on:
- Forms Detection
- Input fields
- Validation rules
- Submit buttons
- Error handling
- Navigation Analysis
- Menu structure
- Links and buttons
- Page flows
- Mobile responsiveness
- Dynamic Content
- Infinite scroll
- Load more buttons
- AJAX updates
- Content changes
- Authentication
- Login forms
- Registration
- Password reset
- Protected areas
- Analyze Website:
1. Enter website URL
2. Click "Analyze Website"
3. Review detected features
4. Choose suggested tests
- Run Generated Tests:
1. Click "Try It" on any suggestion
2. Review test steps
3. Click "Run Tests"
4. View results
- Customize Tests:
1. Start with suggested tests
2. Modify steps as needed
3. Add additional verifications
4. Run customized tests
You can also run tests from the command line:
python src/main.py -t examples/test_scenarios.yaml -u https://your-website.com
Options:
-t, --tests Test scenarios file
-u, --url Target website URL
-c, --config Config file path
--browser chrome/firefox
--headless Run headless
automation-testing/
├── src/
│ ├── web_analyzer/ # Website analysis
│ │ ├── site_analyzer.py
│ │ ├── dom_parser.py
│ │ └── element_classifier.py
│ ├── test_engine/ # Test execution
│ ├── reporting/ # Results & logs
│ ├── utils/ # Utilities
│ └── web_interface/ # Web UI
├── examples/ # Example files
└── test_output/ # Test results
You can write test scenarios in YAML:
scenarios:
- name: Login Test
description: Test login functionality
steps:
- click on the login button
- type "user@example.com" into the email field
- type "password123" into the password field
- click on submit
- verify that dashboard appears
Configure the framework in examples/config.yaml:
browser:
name: chrome
headless: false
test:
base_url: "https://your-website.com"
screenshot_dir: test_output/screenshots
report_dir: test_output/reports
log_dir: test_output/logs
- Python 3.8+
- Chrome or Firefox
- Required packages in requirements.txt
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License.