Static Server
Start a Python HTTP server to preview static HTML files in a browser.
When to Use
- Testing static HTML pages
- Previewing web pages before deployment
- When browser tools block
file://protocol - Need a localhost URL for browser automation
Quick Start
Use the bundled script to start a server:
python scripts/serve.py <path> [--port PORT]
Arguments:
<path>: File path (serves parent directory) or directory path--port: Optional port number (default: 8000)
Examples:
# Serve a specific HTML file
python scripts/serve.py /path/to/index.html
# Serve a directory
python scripts/serve.py /path/to/project
# Use custom port
python scripts/serve.py /path/to/index.html --port 9000
Output
The script prints:
- Access URL:
http://localhost:PORT/filename.html - Directory being served
- Instructions to stop (Ctrl+C)
Usage in Testing
When testing static pages with browser tools:
- Start server with
exec(background mode) - Use the localhost URL with browser tools
- Complete testing
- Kill the server process
Example workflow:
// 1. Start server in background
exec({
command: "python scripts/serve.py /path/to/index.html --port 8888",
background: true
})
// 2. Open in browser
browser({
action: "open",
targetUrl: "http://localhost:8888/index.html"
})
// 3. Test and screenshot
browser({ action: "screenshot", fullPage: true })
// 4. Clean up
process({ action: "kill", sessionId: "..." })
browser({ action: "close" })
Alternative: One-liner
For quick testing without the script:
python -m http.server 8000 --directory /path/to/dir
Note: This serves the directory root, not a specific file.