Releases: openqa-labs/openqa
v0.0.6 - Fix claude-agent-sdk 0.1.75 Compatibility
Bug Fixes
- Fixed browser context disposal issue with claude-agent-sdk 0.1.75
- Resolved "Target page, context or browser has been closed" error occurring on multi-step AI workflows
- The SDK's improved cleanup in v0.1.75 was closing externally-managed browser contexts
- Solution: Wrapped browser context with no-op close() function to prevent premature disposal
- All AI steps in tests now work correctly across multiple sequential operations
Changes
- Updated
ClaudeAgent.jsto use wrapped browser context with managed lifecycle - Enhanced
SessionManager.jswith MCP connection management capabilities - Updated documentation in
CLAUDE.md
Compatibility
- Compatible with
claude-agent-sdkv0.1.75 and later - Tested with Playwright BDD multi-step workflows
Installation
npm install openqa@0.0.6View on npm: https://www.npmjs.com/package/openqa
v0.0.5 - Custom Fixture Support for YAML Tests
π What's New
Custom Fixture Support for YAML Tests
YAML tests can now import custom Playwright fixtures, enabling advanced use cases like cloud browsers, custom test data, and authentication fixtures.
Example:
name: Cloud Browser Tests
fixtureFile: ./fixtures/browser.js # Import custom fixtures
tests:
- name: Test with cloud browser
steps:
- Navigate to https://example.com
- Add laptop to cartFixture file:
// fixtures/browser.js
import { test as base } from '@playwright/test';
import { chromium } from '@playwright/test';
export const test = base.extend({
browser: [async ({}, use) => {
const browser = await chromium.connectOverCDP('ws://your-cloud-browser');
await use(browser);
await browser.close();
}, { scope: 'worker' }],
});π¦ Changes
- Added `fixtureFile` property to YAML schema for importing custom Playwright fixtures
- Path validation: requires relative paths starting with `./` or `../`
- File type validation: only `.js` and `.ts` extensions allowed
- Full backward compatibility: existing YAML tests work unchanged
π Examples
- OnKernel cloud browser: `examples/playwright-yaml/fixtures/onkernel.js`
- Steel Docker browser: `examples/playwright-yaml/fixtures/steel.js`
- YAML usage: `examples/playwright-yaml/tests/onkernel.spec.yaml`
- Steel BDD example: `examples/playwright-bdd-steel/`
π§ Technical Details
Files Modified
- `src/yaml/schema.js` - Added fixtureFile validation
- `src/yaml/generator.js` - Conditional import generation with path resolution
- `src/cli/generate.js` - Pass absolute YAML path for fixture resolution
- `README.md` - Added fixture documentation and examples
Path Resolution
Fixture paths are resolved relative to the YAML file location and work identically in both development and production environments. No hardcoded paths or assumptions about package location.
π Documentation
Updated README with:
- YAML custom fixtures quick start example
- Cloud browser fixture patterns
- Updated examples list
π Links
- npm: https://www.npmjs.com/package/openqa
- Documentation: https://github.com/openqa-labs/openqa
v0.0.3 - Enhanced Init Command & Improved BDD Templates
π What's New
Enhanced Init Command
- Zero-parameter setup: Simply run
npx openqa init- no arguments needed! - Interactive prompts: Choose framework (Playwright-BDD or Cucumber.js), install browsers, and select AI provider
- Smart browser installation: Optional Chromium installation with progress tracking
- Provider-specific guidance: Tailored setup instructions based on your AI provider choice (Anthropic vs Others)
Improved BDD Templates
- Fixed timeout issues: 4-minute default timeout for AI-powered browser tests
- Better test results: Cucumber reports now output to
cucumber-test-results/directory - Included .gitignore files: Both templates now include proper .gitignore files for clean repositories
- Fixed Playwright-BDD template: Proper test instance export for bddgen compatibility
LangChain Agent Enhancements
- Configurable recursion limit: Default increased to 100 (from 25) for complex workflows
- Environment variable support: Configure models via
ANTHROPIC_MODEL,OPENAI_MODEL,GOOGLE_MODEL,DEFAULT_MODEL - Flexible timeout control: Set
RECURSION_LIMITenvironment variable
Documentation Improvements
- Simplified Quick Start: Single
npx openqa initcommand for new projects - Clear authentication steps: Added auth instructions to all integration guides
- Better organization: Separated new projects from existing project integrations
π¦ Installation
# New projects
npx openqa init
# Existing projects
npm install openqaπ§ What's Fixed
- β Cucumber template timeout errors
- β Playwright-BDD bddgen "Can't guess test instance" error
- β ES module error in CLI init command
- β Missing .gitignore files in templates
- β Confusing README structure
π Full Changelog
- Enhanced init command with interactive prompts and browser installation
- Fix Cucumber template timeouts (4-minute default)
- Fix .gitignore files not being published to npm
- Fix playwright-bdd template: export test instance for bddgen
- Restructure README with step-by-step flow
- Add recursion limit and model configuration to LangChain agent
- Add Cucumber.js example for testing and reference
π Contributors
Generated with Claude Code
Co-Authored-By: Claude noreply@anthropic.com
v0.0.2 - BDD Integration & CLI Tool
π What's New
BDD Integration
- 1-Line BDD Setup: Replace all step definitions with a single import
- Playwright-BDD:
import 'openqa/bdd/playwright-bdd' - Cucumber.js:
import 'openqa/bdd/cucumber'
- Playwright-BDD:
- Write tests in pure natural language - AI handles everything
- Automatic browser setup and teardown for Cucumber.js
CLI Scaffolding Tool
- Instant Project Setup:
npx openqa init playwright-bdd - 2-Minute Workflow: From zero to running BDD tests
- Creates complete project structure with:
- Configuration files
- Example .feature files
- Step definitions (1-line integration)
- Dependencies auto-installed
Documentation Updates
- Restructured README with BDD-first approach
- Comprehensive testing guide in PUBLISHING.md
- Clear examples for both frameworks
π¦ Installation
```bash
npm install openqa@latest
```
π Quick Start
New Project:
```bash
npx openqa init playwright-bdd
cd my-project
claude login # or set ANTHROPIC_API_KEY
npm test
```
Existing Project:
```bash
npm install openqa
Replace all step definitions with:
import 'openqa/bdd/playwright-bdd';
```
π Links
- NPM: https://www.npmjs.com/package/openqa
- Website: https://www.auto-browse.com/
- Examples: https://github.com/auto-browse/openqa/tree/main/examples
π Full Changelog
- Add BDD integration modules for Playwright-BDD and Cucumber.js
- Add CLI scaffolding tool with interactive prompts
- Add project templates for both frameworks
- Add example project (playwright-bdd-simple)
- Update README with BDD-first structure
- Fix npm publish exports issue (removed main field)
- Update PUBLISHING.md with comprehensive testing guide
Release v0.0.1
OpenQA v0.0.1
First public release of OpenQA - AI-powered browser automation using Playwright MCP with Claude Code
integration.
Features
- π€ AI-powered browser automation with natural language commands
- π Shared browser context between tests and AI agent
- π Seamless Playwright integration
- π Works with Claude Code credentials (no API key needed)
- π¦ Support for both Claude SDK and LangChain agents
- β¨ Playwright and Playwright BDD examples included
Installation
npm install openqa @playwright/test
NPM Package
https://www.npmjs.com/package/openqa
Documentation
See https://github.com/auto-browse/openqa#readme for usage instructions and examples.