Getting started
Introduction
KwikQA reads a failed Playwright, Cypress, or WebdriverIO run and tells you why it failed, using the evidence in your report, the page at the moment of failure, and your test source. When the test itself is at fault, it proposes a small repair to your test code, shows you the exact diff, applies it only after you approve, and keeps it only if your tests then pass.
It also diagnoses runs from other test frameworks, such as JUnit and TestNG with Selenium, pytest, Jest, and Cucumber, through the reports they already write. It writes a failure report to share, and in CI it summarizes each failed run on the pull request, in GitHub Actions, Azure Pipelines, GitLab CI/CD, or Jenkins.
Quick start
$ npm i -D kwikqa
$ npx kwikqa init
$ npx kwikqa login
$ npx playwright test # or: npx cypress run, npx wdio run wdio.conf.ts
$ npx kwikqa analyze
$ npx kwikqa fix
$ npx kwikqa validate
Install and set up walks through each step, including the reporter KwikQA reads for your framework.
The three commands
analyze- Builds a redacted evidence packet from the latest report, shows you exactly what would be sent, and returns ranked causes. Each cause names its probable owner (test support, application, or environment) and an evidence grade from
strongtoinsufficient. fix- When the cause belongs to test code, asks for a repair proposal, checks it against the repair rules, and shows you the intent, diff, and validation commands. If you approve, it applies the patch and stops at
awaiting-validation. validate- Reruns the original test, and any tests the change affects, in fresh processes. A pass keeps the patch as
repaired. Anything else rolls it back. You get one retry withfix --retry.
Requirements
- Node.js 20.11 or later.
- For repairs, a Node-based Playwright Test, Cypress (end-to-end), or WebdriverIO (Mocha or Jasmine) project in TypeScript or JavaScript, with dependencies already installed through npm, pnpm, Yarn, or Bun, including packages of a monorepo. KwikQA runs your project's own copy and never installs packages or browsers.
- A git repository.
- macOS, Linux, or Windows.
Repairs need one of those three frameworks. To diagnose a run from another framework, such as JUnit, TestNG, or pytest, you need Node.js and the run's report.
KwikQA 0.2 is verified against Playwright 1.55 and 1.64, Cypress 16.2, and WebdriverIO 10.1. Its readers for other frameworks are pinned by real runs of Vitest 4.1, Jest 30.5, Mocha 11.8, pytest 8.4, JUnit 6.1, TestNG 7.12, and Cucumber (cucumber-js 13.3 and Cucumber-JVM 8.0). Other versions run, with a warning in the result.
Where to go next
- Your first repair: a full session, explained line by line.
- The workflow: what happens at each step and why.
- Data and privacy: exactly what leaves your machine.