Help

How this tool works

This platform has two parts — App Discovery and the Test Runner. Together they form a pipeline for generating and running automated Selenium tests against your web apps.

1

Download the Discovery Skill

Click ↓ Download Discovery Skill in the header. This is a Claude Code skill file (.md) that you add to your local Claude Code project.

2

Run the Discovery Skill locally

In Claude Code on your machine, run the discovery skill and point it at your app's URL with login credentials. Claude will generate a discover_<appname>.py script — no local Python or Selenium needed.

3

Upload and run the discovery script

Go to App Discovery, upload the generated discover_<appname>.py file, and click Run. The script runs on this server using the installed Selenium environment and outputs everything it finds about the app.

4

Download the discovery output

Once the script completes, click ↓ Download Output in the result panel. This gives you a _result.txt file containing a full map of the app — pages, forms, inputs, tables, and navigation.

5

Generate an app-specific test skill

Feed the downloaded output back into the discovery skill in Claude Code. It will produce a new app-specific skill file (generate-<appname>-test.md) with all the app knowledge baked in. You only do this once per app.

6

Generate test scripts

Use the app-specific skill in Claude Code to generate test scripts. Tell it what scenario to test and it will produce a ready-to-upload .py file using the correct headless Chrome setup and result file conventions.

7

Upload and run your tests

Go to the Test Runner, upload your test script, and click Run. Results are displayed immediately with a PASS, FAIL, or ERROR banner.

Result file conventions

Every test script must follow these rules for the runner to work correctly:

  • The result file must be named {script_stem}_result.txt and written next to the script
  • Use SCRIPT_STEM = os.path.splitext(os.path.basename(__file__))[0] to derive the name automatically
  • The file must contain the word PASS or FAIL for the UI banner and sidebar dot to update
  • If the script crashes before writing a result file, the runner shows an ERROR banner with the raw output

Status indicators

Green — last result contained PASS
Red — last result contained FAIL (test ran but assertions failed)
Orange — script crashed before writing a result file
Grey — script has never been run