{"_id":"@ai-testing-tool/forge-playwright","_rev":"5-fdae62bd2511848a80906c0e201a041f","name":"@ai-testing-tool/forge-playwright","dist-tags":{"latest":"2.2.1"},"versions":{"2.0.0":{"name":"@ai-testing-tool/forge-playwright","version":"2.0.0","keywords":["ai-testing-tool","playwright","reporter","testing","jira"],"license":"Apache-2.0","_id":"@ai-testing-tool/forge-playwright@2.0.0","maintainers":[{"name":"jvuvo2006","email":"vuvo.junior@gmail.com"},{"name":"jsoft_publisher","email":"jsoftconnector@gmail.com"}],"dist":{"shasum":"51d86dd153b913fa8af2f6c485fc0dc87279f881","tarball":"https://registry.npmjs.org/@ai-testing-tool/forge-playwright/-/forge-playwright-2.0.0.tgz","fileCount":20,"integrity":"sha512-8/kguuQBLcnuWPQ7ncJ0QrDdlGRAJhE/nueN2aMQdEy8+57QmxFvUaDQ4VxsZzk2hlU1/E95sBUoJ30e+5ZtAQ==","signatures":[{"sig":"MEUCIGnfpdPbZiFhQuSN7LYl38oE8U+o5i+gnWq/oBpl+rJtAiEA2Qag57AP/c/3gx296QI/3bdT95kUwp9HaUQzW3Tme7s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45945},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./helpers":{"types":"./dist/helpers.d.ts","default":"./dist/helpers.js"},"./package.json":"./package.json"},"gitHead":"fd15af83f1cde54acd20f41e55fc85e67cb7da35","scripts":{"test":"vitest run --config ../examples/single/vitest/vitest.config.ts --project qa-playwright","build":"npm run clean && npx tsc --project tsconfig.build.json && cp -R src/__fixtures__ dist/__fixtures__","clean":"rm -rf dist","prepublishOnly":"npm test"},"_npmUser":{"name":"jsoft_publisher","email":"jsoftconnector@gmail.com"},"_npmVersion":"10.9.2","description":"AI Testing Tool Playwright reporter — ingest or file modes via @ai-testing-tool/forge-commons","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@ai-testing-tool/forge-commons":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.54.1"},"peerDependencies":{"@playwright/test":">=1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/forge-playwright_2.0.0_1789001764261_0.2613716322458375","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@ai-testing-tool/forge-playwright","version":"2.1.0","keywords":["ai-testing-tool","playwright","reporter","testing","jira"],"license":"Apache-2.0","_id":"@ai-testing-tool/forge-playwright@2.1.0","maintainers":[{"name":"jsoft_publisher","email":"jsoftconnector@gmail.com"}],"dist":{"shasum":"626e65433b13cc3b589563c0422a21bc92b4de47","tarball":"https://registry.npmjs.org/@ai-testing-tool/forge-playwright/-/forge-playwright-2.1.0.tgz","fileCount":20,"integrity":"sha512-QYZ4pGY7+j+rfSd1p+iGVBe25p+nkrXTamjXlehKdpDE1SU7qnr/MSLp4KzbEa2Xa1R2QSq1T1XV9Pl/8RfCaA==","signatures":[{"sig":"MEQCIDa6LH2MAlnJAoE/MH90LmTlA9jIX9rR3LXDgag40QNqAiAuZHDjHXDvtKVMPT2qxyOUzYVyotwaKIwwPmOc0Or9YQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIHd/SeCG62fvWFRK7DoIe3qlAW+VkBDjRZPRDRrPcNd1AiBngiqBlFeMeFqAa4riEqYYRbsTtf73yLYBDztUPgYYzg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47928},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./helpers":{"types":"./dist/helpers.d.ts","default":"./dist/helpers.js"},"./package.json":"./package.json"},"gitHead":"6a6bbfb270e7d4d34b9cc942861f53ccc572f130","scripts":{"test":"vitest run --config ../examples/single/vitest/vitest.config.ts --project qa-playwright","build":"npm run clean && npx tsc --project tsconfig.build.json && cp -R src/__fixtures__ dist/__fixtures__","clean":"rm -rf dist","prepublishOnly":"npm test"},"_npmUser":{"name":"jsoft_publisher","email":"jsoftconnector@gmail.com"},"_npmVersion":"10.9.2","description":"AI Testing Tool Playwright reporter — ingest or file modes via @ai-testing-tool/forge-commons","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@ai-testing-tool/forge-commons":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.54.1"},"peerDependencies":{"@playwright/test":">=1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/forge-playwright_2.1.0_1789133920918_0.9265753596085975","host":"s3://npm-registry-packages-npm-production"}},"2.2.0":{"name":"@ai-testing-tool/forge-playwright","version":"2.2.0","keywords":["ai-testing-tool","playwright","reporter","testing","jira"],"license":"Apache-2.0","_id":"@ai-testing-tool/forge-playwright@2.2.0","maintainers":[{"name":"jsoft_publisher","email":"jsoftconnector@gmail.com"}],"dist":{"shasum":"de749c462132c5be1575c6c4cbcf3fa41d2fa737","tarball":"https://registry.npmjs.org/@ai-testing-tool/forge-playwright/-/forge-playwright-2.2.0.tgz","fileCount":20,"integrity":"sha512-ae8RGmQuoWNa+kkqNVGHb1YyHLe7KsPadFRd2Jg53FMeGaqTYRQC3H008qb3lGhzj/Qd9+j2AXzHUufOkW3STw==","signatures":[{"sig":"MEUCIQC4QTcLPF539wqDRCi9fjZ8g5RwbWlJRzhqeF++QH2KVQIgKJYpBt5CmUq+V8pqNMTfDyAL1BOzICjDmaNHdY8MMGI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDHiu86nGbAiNHvhqJ7J5ThUlssoTPN7F/zVa08hAHxeAiEA4uiS+jIm9lqnUpxxE/DQu/aif/+rXJGLpVbymcPzd1I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":47928},"main":"./dist/index.js","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./helpers":{"types":"./dist/helpers.d.ts","default":"./dist/helpers.js"},"./package.json":"./package.json"},"gitHead":"41f9e959765c56709746d085839a7a2c59bab48e","scripts":{"test":"vitest run --config ../examples/single/vitest/vitest.config.ts --project qa-playwright","build":"npm run clean && npx tsc --project tsconfig.build.json && cp -R src/__fixtures__ dist/__fixtures__","clean":"rm -rf dist","prepublishOnly":"npm test"},"_npmUser":{"name":"jsoft_publisher","email":"jsoftconnector@gmail.com"},"_npmVersion":"10.9.2","description":"AI Testing Tool Playwright reporter — ingest or file modes via @ai-testing-tool/forge-commons","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@ai-testing-tool/forge-commons":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.54.1"},"peerDependencies":{"@playwright/test":">=1.40.0"},"_npmOperationalInternal":{"tmp":"tmp/forge-playwright_2.2.0_1789744399520_0.09238082059240837","host":"s3://npm-registry-packages-npm-production"}},"2.2.1":{"_id":"@ai-testing-tool/forge-playwright@2.2.1","dist":{"shasum":"d94534119b945b5010c64e9b6e45b78a883631a3","tarball":"https://registry.npmjs.org/@ai-testing-tool/forge-playwright/-/forge-playwright-2.2.1.tgz","fileCount":20,"integrity":"sha512-Y7luvGvcUD5h8VPv2docjeFdpd9qHRI06TJd+OgMrzwmfGJhhScuygjHACiEXeJt9ZuNPEbBE0Z0eULA4PlL/Q==","signatures":[{"sig":"MEUCIQCOT9rfOrhFMLbf1D/0QVQFepP058785LvH8+OPLuPAjgIgGHgJUj2HwuXemv9PfoubUyCyOAirTi9oGkQp/RAPcCQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIG7bh6xioqcf7fpaIQPC41+/RZL5ygyiw0SGS/rC655eAiBzLZA/jHsEWckQTdD61IrOcpD6CtzVrg0bmi6se+snIg=="}],"unpackedSize":47928},"main":"./dist/index.js","name":"@ai-testing-tool/forge-playwright","types":"./dist/index.d.ts","engines":{"node":">=18"},"exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./helpers":{"types":"./dist/helpers.d.ts","default":"./dist/helpers.js"},"./package.json":"./package.json"},"gitHead":"3331e6bac1ab0d878687e6f9cfd1e7d4110ea625","license":"Apache-2.0","scripts":{"test":"vitest run --config ../examples/single/vitest/vitest.config.ts --project qa-playwright","build":"npm run clean && npx tsc --project tsconfig.build.json && cp -R src/__fixtures__ dist/__fixtures__","clean":"rm -rf dist","prepublishOnly":"npm test"},"version":"2.2.1","_npmUser":{"name":"jsoft_publisher","email":"jsoftconnector@gmail.com"},"keywords":["ai-testing-tool","playwright","reporter","testing","jira"],"_npmVersion":"10.9.2","description":"AI Testing Tool Playwright reporter — ingest or file modes via @ai-testing-tool/forge-commons","directories":{},"maintainers":[{"name":"jsoft_publisher","email":"jsoftconnector@gmail.com"}],"_nodeVersion":"22.14.0","dependencies":{"@ai-testing-tool/forge-commons":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"@playwright/test":"^1.54.1"},"peerDependencies":{"@playwright/test":">=1.40.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/forge-playwright_2.2.1_1790359182055_0.6778181897662663"}}},"time":{"created":"2026-09-10T00:56:04.060Z","modified":"2026-09-25T17:59:42.335Z","2.0.0":"2026-09-10T00:56:04.399Z","2.1.0":"2026-09-11T13:38:41.029Z","2.2.0":"2026-09-18T15:13:19.621Z","2.2.1":"2026-09-25T17:59:42.152Z"},"license":"Apache-2.0","keywords":["ai-testing-tool","playwright","reporter","testing","jira"],"description":"AI Testing Tool Playwright reporter — ingest or file modes via @ai-testing-tool/forge-commons","maintainers":[{"name":"jsoft_publisher","email":"jsoftconnector@gmail.com"}],"readme":"# @ai-testing-tool/forge-playwright\n\nPlaywright reporter for **AI Testing Tool** (Jira Forge quality hub).\n\n## Install\n\n```bash\nnpm install -D @ai-testing-tool/forge-playwright @ai-testing-tool/forge-commons @playwright/test\n```\n\nPeer: `@playwright/test` ≥1.40.\n\n## Configure\n\n```js\n// playwright.config.js\nconst { defineConfig } = require('@playwright/test');\n\nmodule.exports = defineConfig({\n  testDir: './test',\n  reporter: [\n    ['list'],\n    [\n      '@ai-testing-tool/forge-playwright',\n      {\n        // Defaults to mode=off (no credentials required)\n        // mode: 'ingest' | 'file' | 'off',\n        // projectKey: 'DEMO',\n      },\n    ],\n  ],\n});\n```\n\n### Modes\n\n| Mode | Behavior |\n| ---- | -------- |\n| `off` (default) | No network / file write |\n| `file` | Writes the ingest payload (default `./ai-testing-tool-results.json`) |\n| `ingest` | POSTs the payload with `format: jest-json` |\n\nEnv (same as CLI): `AI_TESTING_TOOL_MODE`, `AI_TESTING_TOOL_PROJECT_KEY`, `AI_TESTING_TOOL_INGEST_URL`, `AI_TESTING_TOOL_INGEST_TOKEN`, `AI_TESTING_TOOL_LAUNCH_NAME`.\n\n## Helpers\n\n```js\nconst { test } = require('@playwright/test');\nconst { qa } = require('@ai-testing-tool/forge-playwright');\n\ntest('AUTH-101 login', async ({ page }) => {\n  qa.suite('Auth');\n  qa.fields({ layer: 'e2e' });\n\n  // Steps: native Playwright API only — no qa.step()\n  await test.step('open login', async () => {\n    await page.goto('/login');\n  });\n});\n```\n\nPrefer **Jira issue keys in test titles**. Native `test.step()` hierarchy lands on `assertionResults[].meta.qa.steps`.\n\n`qa.attach({ contentType })` is metadata-only for now (binary upload deferred).\n\n## Dual path\n\n**Path A — Playwright JSON + CLI:**\n\n```bash\nnpx playwright test --reporter=json --output=ai-testing-tool-playwright.json\n# Convert / upload with CLI when using raw Playwright JSON, or prefer Path B file mode:\nnpx @ai-testing-tool/forge-api-client --project DEMO --report ai-testing-tool-results.json\n```\n\n**Path B — @ai-testing-tool/forge-playwright reporter** (`mode=ingest` or `mode=file`):\n\n```bash\nAI_TESTING_TOOL_MODE=ingest \\\nAI_TESTING_TOOL_PROJECT_KEY=DEMO \\\nAI_TESTING_TOOL_INGEST_URL=... \\\nAI_TESTING_TOOL_INGEST_TOKEN=... \\\nnpx playwright test\n```\n\n`mode=file` writes an **ingest payload** (jest-json shape A) ready for Forge. Path A raw Playwright JSON is a separate dual-path option for teams that already emit Playwright's JSON reporter.\n","readmeFilename":"README.md"}