# What GENI Can Generate

## Overview

GENI Script Generation converts plain-text, step-by-step test cases into fully executable test scripts. No recording, no manual scripting. Describe the test the way a manual tester would document it, and GENI writes the automation.

Provide your test cases (in Excel or via a supported TMS), and GENI transforms them into ready-to-run scripts, generated in bulk.

GENI Script Generation produces:

- Executable test scripts (Playwright, Java/JavaScript, and Python scripts)
- Test scenarios (grouped scripts, runnable on demand or on a schedule)
- Execution reports and screenshots for every run

## How to Provide Your Test Cases

You can bring test cases into GENI in two ways:

- **Excel file** — using the standard column format below
- **TMS integration** — TestRail is supported today, with additional integrations rolling out

### Excel Format

<table id="bkmrk-columnrequired%3Fpurpo" style="margin:24px 0px 0px;border-collapse:collapse;width:760px;border:1px solid rgb(221,222,225);table-layout:fixed;font-size:1em;height:1px;"><colgroup><col></col><col></col><col></col></colgroup><tbody><tr style="height:46.4219px;"><th class="align-left" style="background-color:rgb(240,241,242);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:0px;text-align:left;vertical-align:top;min-width:48px;font-weight:400;">Column

</th><th class="align-left" style="background-color:rgb(240,241,242);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:0px;text-align:left;vertical-align:top;min-width:48px;font-weight:400;">Required?

</th><th class="align-left" style="background-color:rgb(240,241,242);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:0px;text-align:left;vertical-align:top;min-width:48px;font-weight:400;">Purpose

</th></tr><tr><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">Step Description

</td><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">Yes

</td><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">What the tester does in this step

</td></tr><tr><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">Test Data

</td><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">Yes

</td><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">URLs, usernames, passwords, and other inputs used in the step

</td></tr><tr><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">Test Script Name

</td><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">Yes, if more than one test case

</td><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">Names the resulting script

</td></tr><tr><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">Expected Result

</td><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">Optional

</td><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">Your validations — leave blank if none

</td></tr><tr><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">Test Case ID / Name / Preconditions / Step Number

</td><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">Optional

</td><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">Metadata, auto-mapped when present

</td></tr></tbody></table>

Column mapping is auto-detected and can be adjusted manually. Once mapped, GENI shows how many test cases are ready to generate before you proceed.

## Generating Scripts

1. Upload your Excel file or connect your TMS.
2. Review and confirm the column mapping.
3. Confirm the count of ready test cases.
4. Click **Transform Test Scripts** to start generation.

Each test case is processed independently and in parallel, so a batch of 100 takes about as long as a batch of 1.

### Generation Status

<table id="bkmrk-statusmeaningpending" style="margin:24px 0px 0px;border-collapse:collapse;width:760px;border:1px solid rgb(221,222,225);table-layout:fixed;font-size:1em;height:1px;"><colgroup><col></col><col></col></colgroup><tbody><tr style="height:46.4219px;"><th class="align-left" style="background-color:rgb(240,241,242);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:0px;text-align:left;vertical-align:top;min-width:48px;font-weight:400;">Status

</th><th class="align-left" style="background-color:rgb(240,241,242);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:0px;text-align:left;vertical-align:top;min-width:48px;font-weight:400;">Meaning

</th></tr><tr><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">Pending

</td><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">Queued, waiting for an available instance

</td></tr><tr><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">Running

</td><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">Actively being translated into a script

</td></tr><tr><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">Failed

</td><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">Could not be resolved. Re-run or adjust the test case

</td></tr><tr><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">Completed

</td><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">Script generated and ready to execute

</td></tr><tr><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">Needs Input

</td><td class="align-left" style="background-color:rgb(255,255,255);border-width:1px 0px 0px 1px;border-style:solid;border-color:rgb(221,222,225);padding:8px;text-align:left;min-width:48px;font-weight:400;vertical-align:top;">GENI found something that needs your input

</td></tr></tbody></table>

Once complete, scripts appear in the **Test Scripts** area, where you can inspect the steps and execution history of any script.

## Running Your Scripts

- Group scripts into **scenarios** to run them together, like a CI/CD pipeline.
- Run a scenario manually, or schedule it (daily, weekly, monthly, or custom cadence, in any time zone).
- Every execution captures a screenshot of each state visited, plus a screenshot of the failure point if a run fails.
- Download execution reports per scenario, export to the built-in dashboard, or use the built-in Allure Report.

## Maintaining Your Scripts

GENI scripts are built to avoid the usual automation maintenance burden:

- **Minor UI change** (e.g., a renamed button): no action needed — accessors adapt automatically.
- **A flow changed**: edit the English step in the test case and regenerate that script.
- **Major application change**: rewrite the test case and generate a new script.

You edit the English description, not the code.

## Access &amp; Security Notes

- GENI Script Generation is a hosted service (on-prem available as an add-on).
- To reach your application under test, whitelist the single outbound IP address provided by Appvance.
- The LLM is used only during generation — execution is pure script playback with no AI inference and no data leaving for model calls.
- Generated scripts are yours: downloadable and editable Playwright (Java/JavaScript).

## Getting Started

Bring a sample of your existing manual test cases in the standard Excel format, generate a pilot batch, and run the resulting scripts against your application.