Docs menu

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 strong to insufficient.
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 with fix --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