Automated Test Generation
Supported frameworks
Code quality score
Before you push any code, TestForge calculates a local quality score (no extra LLM call) across 5 dimensions:
Score ≥ 70: good quality, push with confidence. Score < 60: Regenerate button is highlighted.
Regenerate with corrections
Click Regenerate to run a new generation. TestForge automatically collects all quality warnings from the previous result and sends them to the LLM as aCORRECTIONS REQUIRED section. You don’t need to describe the issues manually.
Cucumber: feature files from Gherkin
When you select a Cucumber framework:- Feature files are derived directly from the
gherkinScenariofields of your manual tests — zero extra LLM call. - Step definitions are generated by the LLM from those scenarios.
Push to Azure Repos
Once the code is generated (and the quality score reviewed), push it straight to a repository of your project.- Pick a repository — TestForge lists the project’s repositories and, on selection, loads that repository’s real branches.
- Base branch — a selector over the repository’s branches, preselected on its default branch. No free-text input, no assumed
main. - Target branch — in both direct commit and Pull Request modes, pick an existing branch or choose “New branch…”. The default is a new branch named
testforge/generated-tests/us-{id}, automatically uniquified (-2,-3…) if the name is already taken. An indicator tells you whether the target will be created or exists — the push will update this branch (files already present on the branch are edited, not duplicated). - Confirm — the confirmation restates the real target (“create X from Y” / “update X”). Nothing is written remotely before you confirm.
- On success, the commit SHA or the Pull Request link is displayed.
Failure ≠ dead end. ADO errors are decoded into actionable messages with one-click remedies: retry with a suffixed branch name (branch conflict), reload the branch list (branch not found), or open the repository’s existing active Pull Request. Your generated files are kept, and retrying never re-runs the LLM generation.
Getting started with your generated code
After generation, TestForge displays a “How to use this code” panel with the exact steps for your framework. Here is the full reference for all 8 frameworks.Playwright TypeScript \
Playwright Python \
Playwright .NET (C#) \
Selenium Java \
Add to yourpom.xml:
Cypress JavaScript \
Cucumber JavaScript \
Cucumber Java \
Add to yourpom.xml:
Cucumber Python \
The inline “How to use this code” accordion in the QA Hub links directly to each section above. Keep this page up to date whenever framework versions are bumped.