tape-six-puppeteer
v1.0.3
Published
Puppeteer-based browser test runner for tape-six. Runs each test file in its own iframe inside headless Chrome. Works with Node, Deno, and Bun.
Downloads
392
Maintainers
Readme
tape-six-puppeteer 
tape-six-puppeteer is a helper for tape-six
to run tests in a headless browser via Puppeteer. Each test file runs in its own
iframe inside headless Chrome, providing full browser isolation.
Why?
The standard tape6 runner uses worker threads. tape6-puppeteer launches headless
Chrome and runs each test file in a separate iframe, giving tests access to real DOM,
browser APIs, and the full web platform. Tests can be .js/.mjs modules or .html files.
Install
npm i -D tape-six-puppeteerPuppeteer's bundled Chromium is installed automatically via postinstall.
Quick start
- Write tests using tape-six that use browser APIs:
import test from 'tape-six';
test('DOM works', t => {
const el = document.createElement('div');
el.textContent = 'hello';
document.body.appendChild(el);
t.equal(document.body.lastChild.textContent, 'hello', 'element created');
});- Configure tests in
package.json:
{
"scripts": {
"test": "tape6-puppeteer --start-server --flags FO"
},
"tape6": {
"browser": ["/tests/test-*.html"],
"tests": ["/tests/test-*.*js"],
"importmap": {
"imports": {
"tape-six": "/node_modules/tape-six/index.js",
"tape-six/": "/node_modules/tape-six/src/"
}
}
}
}- Run:
npm testServer
tape6-puppeteer requires tape6-server (from tape-six) to serve test files to the browser.
- Auto-start: use
--start-serverto launch it automatically. - Manual: run
npx tape6-serverin a separate terminal, then run tests without--start-server. - Custom URL: use
--server-url URL(-u), or setTAPE6_SERVER_URLorHOST/PORTenvironment variables.
Cross-runtime usage
{
"scripts": {
"test": "tape6-puppeteer --start-server --flags FO",
"test:bun": "bun run `tape6-puppeteer --self` --start-server --flags FO",
"test:deno": "deno run -A `tape6-puppeteer --self` --start-server --flags FO"
}
}Docs
See the wiki for full documentation.
tape-six has its own wiki.
tape-six-puppeteer uses the same test configuration and CLI conventions as tape-six.
Command-line utilities
- tape6-puppeteer — the main utility of this package to run browser tests.
AI agents
If you are an AI coding agent, see AGENTS.md for project conventions, commands, and architecture.
LLM-friendly documentation is available:
- llms.txt — concise reference.
- llms-full.txt — full reference with architecture details.
Release notes
The most recent releases:
- 1.0.3 Added
--helpand--versionoptions. Converted write-tests workflow to a skill. - 1.0.2 Updated dependencies. Consolidated workflows.
- 1.0.1 Renamed bin files from
tape-six-*totape6-*pattern. - 1.0.0 The first official release.
See the full release notes for details.
