Power Your Software Testing with AI Agents and Cloud

The Native AI-Agentic Cloud Platform to Supercharge Quality Engineering. Test Intelligently and Ship Faster.

AIAutomation

We Built an Agent That Explores a Web App Before Anyone Writes a Test

How we built Kane CLI Exploration: an AI agent that maps a web app with no written requirements, flags problems, and turns the map into tests a person reviews.

Published on:

An AI testing agent is only as good as the context you give it. When you hand Kane CLI a requirement like "a signed-in user can export a report as CSV", it can plan the steps, run them in a browser and tell you whether the export worked. When nobody has written that requirement down, the agent has nothing to plan against.

Apps without written requirements are more common than most testing tools assume. Some teams run legacy apps whose specs left with the people who wrote them, and other teams run apps that a coding agent built in a week from a few dozen prompts, where the only record of intended behaviour is the chat history.

We built Kane CLI Exploration for those apps. You give Kane CLI a URL, and an exploration agent walks the web app on its own, builds a map of how the app is put together and flags problems it runs into along the way. This post covers how the exploration agent works, what it reports, how the map turns into tests and what it still can't do.

The Exploration Agent Records Every Page, Control and Flow It Can Reach

A normal Kane CLI run follows one path, such as login or checkout, because someone asked for that path. The exploration agent has no path to follow, so it starts at the URL you give it and keeps moving through every page, junction and flow it can reach.

For each page it visits, the exploration agent records the following:

  • Controls - the interactive elements on the page, such as buttons, links, forms, menus and input fields.
  • Flows - the journeys that lead into the page and out of it, so the map shows how pages connect.
  • Screen states - the different versions of the same screen, such as a form in its empty state and again after a validation error.
Kane CLI Exploration screen detail panel for the Allen Solly Junior Products page with 31 controls, 2 flows, 4 findings and a captured screenshot

Exploring a large app can take hours, so we run exploration as a long-running cloud job instead of a terminal session you have to babysit. The Kane CLI 0.10.0 release notes cap a run at up to 20 cloud browsers at once, and you can open any single browser session while the job runs to watch what the agent is doing on that page.

The exploration map doesn't start over on every run. Each new run adds its screens, flows and findings to the same map, compares every screen and flow with earlier runs, tags what is new or changed, and re-verifies the changed flows on the next run.

Every flow on the map carries a status, such as verified, changed, broken or not yet verified, so the map doubles as a health check of the app's journeys. At the end of each run, the exploration agent also writes a skill file that records what it learned about the app, such as the sign-in method, the business areas it grouped screens into and the places it should stop, and the next run starts from that skill file instead of from zero.

The results live on an Exploration page in TestMu AI Test Manager, with a graph of the app that collapses screens into business areas when you zoom out, plus tabs for screens, flows, findings and run history. You can set up an exploration there or start one from the terminal, and the Exploration page copies the matching kane-cli command for any exploration you set up in the browser:

npm install -g @testmuai/kane-cli
kane-cli login
kane-cli explore run --url https://yourapp.com
Kane CLI Exploration Screens tab listing 15 screens of automationexercise.com with business area, findings count, first seen run and last verified run

You Decide How Far the Exploration Agent Is Allowed to Go

An agent that clicks every button on a live app needs limits, so most of the setup for an exploration is about what the agent may touch. The table below lists each setting and what it controls.

SettingWhat it controls
Read-only modeThe exploration agent can look, click and validate, but it never submits a form.
Allow changes modeThe exploration agent fills and submits forms to reach more screens, which is meant for apps with disposable test data.
Domains and keywordsIn Allow changes mode, you list allowed domains, blocked domains the agent never opens, and blocked keywords such as "Delete account" that the agent never clicks.
Sign-in secretsSign-in uses stored variables and secrets such as APP_USER and APP_PASSWORD, and secret values stay hidden in logs and evidence.
TunnelA tunnel connects an exploration to a local or restricted environment, such as a staging app that isn't reachable from the public internet.
Control switchesEvery control the agent found on a screen has an on and off switch, so you can leave a risky button out of the next run.
Screen labels"Frequent" screens are explored and re-checked first, "low traffic" screens come after everything else, and "deprecated" screens are explored only if budget allows and are never re-checked.
Screen notesThe exploration agent reads your notes on a screen at the start of the next run, which is the simplest way to tell it something it couldn't work out on its own.
Objective presetsA preset narrows a run to one area, such as sign-in and account basics or payments and refunds, or opens it up to everything reachable.

The terminal exposes the same limits as flags on kane-cli explore run: --policy read_only or mutating, --allow-domain for the hosts the run may walk, and --deny for a control name the agent never acts on under any policy.

The Exploration Agent Flags Problems Without Being Told What to Look For

The exploration agent has no test cases to pass or fail, so instead it reports anything on a page that looks wrong to a user. The findings fall into the kinds below.

Finding kindExample
UX bugsA button that leads to an empty page, or a form that rejects input it should accept.
Safety and securitySafety and security issues that show up on the pages the agent visits.
AccessibilityRule violations on every screen the agent reaches, logged with the rule name, impact level and WCAG reference.
Screen changesA screen that looks different from the version an earlier run recorded.
Coverage gapsFlows the agent couldn't finish, such as a journey that got stuck at a sign-in wall.

Every finding comes with an Evidence Pack holding a clip, the network log, the console log and the exact HTML element behind the problem, plus a short record of what the agent saw, what it expected and what actually happened. Findings carry a High, Medium or Info severity, and a team can triage each one as bug, duplicate, expected, flaky, test environment or won't fix.

The real bugs can be raised from the finding itself, with the title, severity, steps to reproduce and chosen evidence already filled in.

One of our test explorations ran against Automation Exercise, a public practice site for test automation. After six runs, the exploration map held 15 screens grouped into 4 business areas and 21 flows, 14 of them verified, and the same runs raised 64 findings: 20 High, 35 Medium and 9 Info. We treat findings as leads for a person to review, because an agent with no spec can't always tell a bug from a deliberate design choice.

Kane CLI Exploration Flows tab with flow statuses such as Verified, Changed, Broken and Verified to edge, plus findings per flow and the last run
Note

Note: Kane CLI runs on your machine and in CI, and Exploration adds the map for apps that never had a spec. Sign up for TestMu AI to try Kane CLI.

The Exploration Map Becomes the Context for Test Generation

The map is the part of exploration we care about most, because it gives the rest of Kane CLI something to work from. Kane CLI's test generation normally starts from requirements and turns them into use cases and acceptance criteria, as the PRD to evidence walkthrough shows, and when there are no requirements the exploration map takes their place.

The full loop on an undocumented app runs like this:

  • The exploration agent walks the app and saves a map of its pages, controls and flows, along with its findings.
  • Kane CLI reads the map as context and writes use cases and acceptance criteria for the flows it found. With the "Use exploration as Assurance context" option on, those use cases and tests stay in sync with the map after every run.
  • Kane CLI runs the resulting tests and saves an Evidence Pack for each run, with the screenshot, network data and page state behind every step.
  • A person reviews the generated tests, keeps the ones that match intended behaviour and fixes the ones that encoded a bug.
  • The kept tests go into CI and run on every future pull request.

The human review in step four matters more than it looks. A test written from observed behaviour will happily assert that a bug is correct, so the review is where someone who knows the product decides what the app is supposed to do.

Kane CLI sits alongside the Playwright, Selenium or Cypress suites a team already runs. The tests that come out of exploration cover the parts of the app those suites never reached, which is also where human exploratory testing usually has the least time to go.

Engineering Choices That Shaped How Exploration Runs

We made three decisions early that changed how exploration behaves in practice.

  • Cloud execution - an exploration that keeps up to 20 browsers open for hours would tie up a developer machine, so each job runs on cloud VMs on HyperExecute and keeps going after you close the terminal.
  • A separate concurrency pool - exploration sessions draw from a different pool than regular Kane CLI test runs, so a long exploration never takes browser capacity away from the tests a team runs in CI. Each KaneAI Max licence can run three explorations at the same time.
  • Tenant isolation in the database - the exploration store lives in its own Postgres database, uses the pgvector extension, and applies row-level security per organisation as the tenant boundary.

The PostgreSQL row security documentation notes that superusers and roles with the BYPASSRLS attribute always bypass row security. The database user that the exploration service writes with has neither, so one organisation's app map stays out of reach of every other organisation's queries.

Exploration Covers Web Apps Today, and There Is Plenty Left to Build

We would rather list the gaps here than have you find them in the first hour:

  • Exploration works on web apps only for now, while the rest of Kane CLI already tests both web and mobile apps.
  • The exploration agent stops at a sign-in wall until you give it credentials, and in Read-only mode it can't reach screens that sit behind a submitted form.
  • The exploration agent reports what looks wrong, but without a spec it can mistake an intentional design choice for a bug, which is why its findings go to a person for review.
  • Exploration is part of the KaneAI Max plan, and each licence can run three explorations at the same time.

If you maintain an app that nobody fully documented, point Kane CLI Exploration at it and see what the map shows you. The Kane CLI getting started guide covers the install, and we will be in the comments to answer questions about how exploration works.

Kane CLI - Testing Agent in Your Terminal

Author

...

Bhawana

Blogs: 77

  • Twitter
  • Linkedin

Bhawana is a Community Evangelist at TestMu AI with over 3 years of experience creating technically accurate, strategy-driven content in software testing. She has authored 50+ blogs on test automation, cross-browser testing, mobile testing, and real device testing. She also serves as Product Marketing Manager for Kane CLI, the command-line tool that runs browser automation from the terminal using natural-language flows in a real Chrome browser. Bhawana is certified in KaneAI, Selenium, Appium, Playwright, and Cypress, reflecting her hands-on knowledge of modern automation practices. On LinkedIn, she is followed by 6000+ QA engineers, testers, AI automation testers, and tech leaders.

Reviewer

...

Shantanu Wali

Reviewer

  • Linkedin

Shantanu Wali is Vice President of Product Management at TestMu AI, where he owns several product lines across the testing platform, including the Real Device Cloud and the Digital Experience Testing Cloud. He has also contributed significantly to the development and scaling of KaneAI, TestMu AI's flagship GenAI-native testing agent that uses natural language to make software testing faster and more reliable in this AI era. He brings 7+ years of experience across software development and product management, starting as a backend developer at Infosys building solutions for Fortune 500 clients. Shantanu holds an MBA from IIM Calcutta and a B.Tech in Mechanical Engineering.

Add to Google preferred sources

Summarise with AI

Copied to Clipboard!
...

3000+ Browsers. One Platform.

See exactly how your site performs everywhere.

Try it free
...

Write Tests in Plain English with KaneAI

Create, debug, and evolve tests using natural language.

Try for free

Web App Exploration FAQs

Did you find this page helpful?

More Related Blogs

TestMu AI forEnterprise

Get access to solutions built on Enterprise
grade security, privacy, & compliance

  • Advanced access controls
  • Advanced data retention rules
  • Advanced Local Testing
  • Premium Support options
  • Early access to beta features
  • Private Slack Channel
  • Unlimited Manual Accessibility DevTools Tests