Files
cremote/mcp_cache_test_example.md
2025-09-30 08:00:30 -05:00

200 lines
4.6 KiB
Markdown

# MCP Cache and Site Data Management Test Examples
This document provides examples of how to use the new cache and site data management tools through the MCP interface.
## Prerequisites
1. Ensure cremotedaemon is running
2. Ensure Chrome/Chromium is running with remote debugging enabled
3. Configure your MCP client to use the cremote MCP server
## Example 1: Basic Cache Disable/Enable Workflow
```yaml
# Navigate to a test page
web_navigate_cremotemcp:
url: "https://httpbin.org/cache/60"
screenshot: true
# Disable cache for testing
web_disable_cache_cremotemcp:
timeout: 10
# Reload page to test without cache
web_navigate_cremotemcp:
url: "https://httpbin.org/cache/60"
# Re-enable cache
web_enable_cache_cremotemcp:
timeout: 10
```
## Example 2: Performance Testing Workflow
```yaml
# Clear cache before performance test
web_clear_cache_cremotemcp:
timeout: 15
# Disable cache for cold load test
web_disable_cache_cremotemcp:
timeout: 10
# Navigate and measure performance
web_navigate_cremotemcp:
url: "https://example.com"
screenshot: true
# Get performance metrics
web_performance_metrics_cremotemcp: {}
# Enable cache for warm load test
web_enable_cache_cremotemcp:
timeout: 10
# Navigate again and compare
web_navigate_cremotemcp:
url: "https://example.com"
# Get performance metrics again
web_performance_metrics_cremotemcp: {}
```
## Example 3: Multi-Tab Cache Management
```yaml
# Open first tab and disable cache
web_manage_tabs_cremotemcp:
action: "open"
web_disable_cache_cremotemcp:
tab: "tab-1"
timeout: 10
# Open second tab and keep cache enabled
web_manage_tabs_cremotemcp:
action: "open"
# Navigate both tabs to same URL
web_navigate_cremotemcp:
url: "https://httpbin.org/cache/60"
tab: "tab-1"
web_navigate_cremotemcp:
url: "https://httpbin.org/cache/60"
tab: "tab-2"
```
## Example 4: Development Workflow
```yaml
# Disable cache for development
web_disable_cache_cremotemcp:
timeout: 10
# Navigate to development site
web_navigate_cremotemcp:
url: "http://localhost:3000"
# Interact with page
web_interact_cremotemcp:
action: "click"
selector: "#refresh-button"
# Take screenshot for documentation
web_screenshot_enhanced_cremotemcp:
output: "/tmp/dev-screenshot.png"
full_page: true
```
## Error Handling
The cache management tools will return appropriate error messages if:
- The daemon is not running
- Chrome/Chromium is not accessible
- The specified tab doesn't exist
- Network operations timeout
Example error response:
```json
{
"error": "failed to disable cache: tab not found: tab-123",
"isError": true
}
```
## Best Practices
1. **Always set appropriate timeouts** for cache operations (5-15 seconds recommended)
2. **Clear cache before performance tests** to ensure consistent baseline measurements
3. **Disable cache during development** to see changes immediately
4. **Re-enable cache after testing** to restore normal browsing behavior
5. **Use specific tab IDs** when working with multiple tabs to avoid confusion
## Example 5: Authentication Testing Workflow
```yaml
# Clear all site data before testing login
web_clear_all_site_data_cremotemcp:
timeout: 15
# Navigate to login page
web_navigate_cremotemcp:
url: "https://example.com/login"
# Fill login form
web_form_fill_bulk_cremotemcp:
fields:
username: "testuser"
password: "testpass"
# Submit and verify login
web_interact_cremotemcp:
action: "click"
selector: "#login-button"
# Clear cookies to test logout behavior
web_clear_cookies_cremotemcp:
timeout: 10
# Refresh page to verify logout
web_navigate_cremotemcp:
url: "https://example.com/dashboard"
```
## Example 6: Storage Testing Workflow
```yaml
# Clear storage before testing
web_clear_storage_cremotemcp:
timeout: 10
# Navigate to application
web_navigate_cremotemcp:
url: "https://example.com/app"
# Interact with app to create storage data
web_interact_cremotemcp:
action: "click"
selector: "#save-data-button"
# Clear storage to test data persistence
web_clear_storage_cremotemcp:
timeout: 10
# Refresh to test if data is gone
web_navigate_cremotemcp:
url: "https://example.com/app"
```
## Integration with Other Tools
Cache and site data management works seamlessly with other cremote MCP tools:
- Use with `web_performance_metrics_cremotemcp` for performance testing
- Combine with `web_navigate_cremotemcp` for controlled page loading
- Use with `web_screenshot_enhanced_cremotemcp` for visual testing
- Integrate with `web_interact_cremotemcp` for user interaction testing
- Use with `web_form_fill_bulk_cremotemcp` for authentication testing
- Combine with `web_extract_cremotemcp` tools for data verification after clearing