manual-automation
Manual browser testing and automation using Chrome DevTools MCP server. Handles port management, app launch, browser automation, login, and end-to-end testing.
SKILL.mdmanual-automation/SKILL.md
GitHubManual Browser Automation
This skill enables manual browser testing and automation using the Chrome DevTools MCP server. It orchestrates the full workflow from port management through application launch, browser automation, login, and end-to-end testing.
Workflow Execution Steps
1. Port Management
Check if port 3000 is free:
lsof -i :3000
If port is in use:
- Identify the process using the port
- Stop the existing application gracefully
- Verify the port is now free
If port is free:
- Proceed to application launch
2. Application Launch
Launch the application in terminal:
- Start the application server on port 3000
- Run in background mode to allow continued agent execution
- Monitor startup logs to ensure successful initialization
- Wait for the application to be ready (health check or expected log message)
3. Browser Automation Setup
Initialize Chrome DevTools MCP connection:
- Use MCP tools to connect to the browser
- Navigate to
http://localhost:3000 - Wait for page load completion
- Take initial screenshot for documentation
4. Login Flow
Execute login sequence:
- Locate login form elements using MCP selectors
- Fill in credentials (use environment variables or secure storage)
- Submit the login form
- Wait for successful login redirect
- Verify login state (check for expected UI elements or cookies)
- Take screenshot of logged-in state
5. Testing Execution
Perform end-to-end tests using MCP tools:
Available MCP tool categories:
- Input automation:
click,type_text,fill,fill_form,hover,press_key,drag,upload_file,handle_dialog,click_at - Navigation:
navigate_page,new_page,select_page,close_page,list_pages,wait_for - Emulation:
emulate,resize_page - Performance:
performance_start_trace,performance_stop_trace,performance_analyze_insight - Network:
list_network_requests,get_network_request - Debugging:
take_screenshot,take_snapshot,evaluate_script,list_console_messages,get_console_message,lighthouse_audit,screencast_start,screencast_stop
Testing best practices:
- Use
wait_forto ensure elements are present before interaction - Take screenshots at key test steps for documentation
- Check console messages for JavaScript errors
- Verify network requests complete successfully
- Use
evaluate_scriptfor custom assertions - Run Lighthouse audits for performance and accessibility checks
6. Cleanup
After testing completion:
- Close browser pages/tabs
- Stop the application server
- Clean up any temporary files or data
- Report test results with screenshots and logs
Exit Criteria
- Port 3000 is successfully managed (freed if needed)
- Application launches and runs without errors
- Browser successfully connects and navigates to the application
- Login flow completes successfully
- All specified test cases execute via MCP tools
- Test results are documented with screenshots and logs
- Application server is stopped and port is freed
MCP Tool Reference
Key tools for testing:
navigate_page- Navigate to URLsclick- Click on elementstype_text- Type text into inputsfill- Fill form fieldswait_for- Wait for conditionstake_screenshot- Capture screenshotslist_console_messages- Check for errorsevaluate_script- Run custom JavaScriptlighthouse_audit- Performance/accessibility audits
Error Handling
Port conflicts:
- If port cannot be freed, report error and suggest alternative port
- Document the process occupying the port for manual intervention
Application launch failures:
- Check application logs for errors
- Verify dependencies and configuration
- Report to user with specific error details
Browser automation failures:
- Use MCP debugging tools to diagnose issues
- Check console messages for JavaScript errors
- Verify element selectors are correct
- Take screenshots at failure points for debugging
Login failures:
- Verify credentials are correct
- Check for CAPTCHA or 2FA requirements
- Inspect network requests for authentication errors
- Report specific failure reason to user