Skip to content

Releases: openqa-labs/openqa

v0.0.6 - Fix claude-agent-sdk 0.1.75 Compatibility

23 Dec 04:48
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

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.js to use wrapped browser context with managed lifecycle
  • Enhanced SessionManager.js with MCP connection management capabilities
  • Updated documentation in CLAUDE.md

Compatibility

  • Compatible with claude-agent-sdk v0.1.75 and later
  • Tested with Playwright BDD multi-step workflows

Installation

npm install openqa@0.0.6

View on npm: https://www.npmjs.com/package/openqa

v0.0.5 - Custom Fixture Support for YAML Tests

22 Dec 01:52
Immutable release. Only release title and notes can be modified.

Choose a tag to compare

πŸŽ‰ 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 cart

Fixture 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

v0.0.3 - Enhanced Init Command & Improved BDD Templates

27 Nov 05:22

Choose a tag to compare

πŸŽ‰ 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_LIMIT environment variable

Documentation Improvements

  • Simplified Quick Start: Single npx openqa init command 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

25 Nov 20:00

Choose a tag to compare

πŸŽ‰ 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'
  • 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

πŸ“‹ 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

17 Nov 23:50

Choose a tag to compare

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.