OpenTester v0.2.0 Release Notes
Release Date: 2025-03-08
Overview
OpenTester v0.2.0 is a major milestone release introducing Web Testing MVP capabilities, hardened CLI Daemon mode, and a complete Execution Timeline visualization system for the frontend.
What's New
🌐 Web Testing MVP
The biggest addition in v0.2.0 is the Web Testing executor, enabling AI-driven browser automation.
WebExecutor Features:
- Playwright Integration: Full browser automation supporting Chromium, Firefox, and WebKit
- AI-Powered Element Location: DOM analysis with AI-assisted element resolution
- Pause/Resume Execution: Interactive debugging when AI needs to locate elements
- Visual Feedback: Screenshot capture, element highlighting, and visual comparison
New Web Actions:
| Action | Description |
|---|---|
navigate |
Navigate to URL |
click |
Click element (with AI fallback support) |
type |
Fill form fields |
select |
Select dropdown options |
screenshot |
Capture page screenshots |
launch |
Launch browser with viewport configuration |
close |
Close browser instance |
AI Locator Support:
- action: click
ai_locator:
description: "The primary submit button in the form footer"
context: "Login form bottom-right"
fallback_selector: "button[type='submit']"When ai_locator is used, execution can pause in paused_waiting_for_ai state, allowing AI (or human) to provide the correct selector via MCP tools or REST API.
🔧 CLI Daemon Hardening
The CLI has been completely reworked with robust daemon support for production deployments.
New Commands:
# Start services in background daemon mode
opentester start --daemon
# Check service status with automatic stale PID cleanup
opentester status
# Stop services gracefully
opentester stop
# Environment diagnostics
opentester doctor
# Show version
opentester versionDaemon Features:
- True Background Mode: Services run detached with proper process management
- Health Check Integration: CLI waits for services to be ready before exiting
- Log Rotation: Automatic cleanup of logs older than 7 days
- PID Management: Automatic stale PID detection and cleanup
- XDG Compliance: Logs stored in platform-appropriate locations
Log Locations:
- Linux:
~/.local/share/opentester/logs/daemon/ - macOS:
~/Library/Application Support/opentester/logs/daemon/ - Windows:
%LOCALAPPDATA%\opentester\logs\daemon\
📊 Frontend Execution Timeline
A complete visualization system for execution monitoring.
New Components:
- Timeline: Visual execution timeline with step-by-step progress
- TimelineStep: Individual step display with status indicators
- TimelineDiagnostics: Diagnostic event panel per step
- StepDetails: Multi-executor step details (CLI/Web/GUI)
- StepDetailsWeb: Web-specific diagnostics including screenshots and DOM info
Features:
- Real-time WebSocket updates during execution
- Step correlation tracking
- Diagnostic event visualization
- Batch execution monitoring improvements
- Interactive step inspection
🔍 Diagnostic System
Comprehensive observability for test execution.
Diagnostic Features:
- Event collection and persistent storage
- Step correlation tracking across async boundaries
- Transport diagnostics (HTTP requests, WebSocket messages)
- Execution context snapshots
- AI decision logging
MCP Diagnostic Tools:
get_execution_diagnostics- Fetch diagnostic events for an executionrequest_dom_analysis- Get DOM snapshot when paused for AIsubmit_ai_selector- Resume execution with AI-provided selectorlist_paused_executions- List all executions waiting for AI input
📦 Build & Packaging Improvements
Version Management:
- Dynamic version reading via
importlib.metadata - Consistent version across development, pip install, and PyInstaller builds
- PyInstaller spec auto-versioning from
pyproject.toml
PyInstaller Enhancements:
- Single-file executable support
- Proper data file inclusion
- Cross-platform build improvements
- Version consistency in packaged builds
🧪 Testing
Added 15+ new test files:
test_cli_daemon_commands.py- CLI daemon command teststest_daemon_startup.py- Daemon lifecycle teststest_daemon_runtime_contract.py- Runtime behavior validationtest_diagnostic_*.py- Diagnostic system teststest_web_executor_diagnostics.py- Web executor teststest_step_correlation.py- Step tracking tests
Breaking Changes
None. v0.2.0 is backward compatible with v0.1.x DSL scripts and APIs.
Migration Guide
For Existing Users
No migration needed. Existing DSL scripts continue to work.
To use new Web Testing features:
-
Install Playwright browsers:
playwright install chromium
-
Create a web test DSL:
version: "1.0" meta: name: "Login Test" steps: - action: launch browser: chromium headless: false - action: navigate url: "https://example.com/login" - action: type selector: "input[name='username']" text: "testuser" - action: click selector: "button[type='submit']" - action: assert assertion: type: url_contains expected: "/dashboard"
-
Run with web target type (via MCP or API)
Documentation
Updated Documentation:
- ARCHITECTURE.md - Updated with Web Testing architecture
- DSL_SPEC.md - Added Web actions and AI locator spec
- CLI.md - Complete daemon mode documentation
- CHANGELOG.md - Full v0.2.0 changelog
New Documentation:
- DISTRIBUTION.md - Build and distribution guide
- SKILL_PROMPT.md - AI agent integration guide
中文文档同步更新:
docs/zh/ARCHITECTURE.md- 架构文档(新增)docs/zh/DSL_SPEC.md- DSL 规范(新增)docs/zh/CHANGELOG.md- 变更日志(已更新)docs/zh/CLI.md- CLI 文档(已修复)
Assets
| File | Description | Size |
|---|---|---|
opentester-0.2.0-py3-none-any.whl |
PyPI Wheel | ~90 KB |
opentester-0.2.0.tar.gz |
Source distribution | ~145 KB |
opentester-0.2.0-windows-x64.exe |
Windows standalone executable | ~56 MB |
Known Issues
- GUI/TUI executors are experimental and disabled by default
callaction is schema-level only (not executed)- Extended variables (
${{now}},${{random}}) require explicit implementation in DSL
Contributors
Thank you to all contributors who made this release possible!
Links
- Repository: https://github.com/kznr02/OpenTester
- Documentation: https://github.com/kznr02/OpenTester/tree/main/docs
- Issues: https://github.com/kznr02/OpenTester/issues
- PyPI: https://pypi.org/project/opentester/
Full Changelog: v0.1.1...v0.2.0
New Contributors
Full Changelog: v0.1.1...v0.2.0