flaui-qatouch
v1.0.1
Published
QA Touch reporter for FlaUI (.NET UI automation via NUnit/MSTest) — auto-creates modules, test cases and test runs from NUnit3 XML or TRX result files.
Maintainers
Readme
flaui-qatouch
QA Touch reporter for FlaUI (.NET desktop UI automation via NUnit / MSTest). Reads NUnit3 XML or TRX result files produced by
dotnet test/nunit-consoleand automatically creates modules, test cases, and a test run in QA Touch.
Install
npm install flaui-qatouchNo peer dependencies — works with any Node.js >= 16 project.
Usage
Create an upload-results.ts (or .js) file in your project root and run it
after your .NET test run completes:
import { FlaUIQATouchReporter } from "flaui-qatouch";
const reporter = new FlaUIQATouchReporter({
domain: "mycompany", // your QA Touch subdomain
apiToken: "YOUR_API_TOKEN",
projectKey: "PROJ",
assignTo: "user-key",
resultsFile: "./TestResults/results.xml", // NUnit3 XML or .trx
milestoneName: "Sprint 12", // created automatically if missing
tag: "flaui",
});
await reporter.run();Run it:
# after: dotnet test --logger "nunit;LogFilePath=TestResults/results.xml"
npx ts-node upload-results.tsOptions
| Option | Type | Default | Description |
|---|---|---|---|
| domain | string | — | QA Touch subdomain |
| apiToken | string | — | QA Touch API token |
| projectKey | string | — | QA Touch project key |
| assignTo | string | — | User key to assign the test run |
| resultsFile | string | — | Path to NUnit3 XML or TRX file |
| testsuiteId | string? | auto | Fixed module key — skips auto-create |
| milestoneName | string? | "FlaUI Automation" | Milestone name (reused or created) |
| milestoneKey | string? | — | Existing milestone key — skips creation |
| createCases | boolean? | true | Auto-create missing test cases |
| tag | string? | "flaui" | Tag applied to the test run |
Supported result formats
| Format | How to produce |
|---|---|
| NUnit3 XML | dotnet test --logger "nunit;LogFilePath=results.xml" or nunit-console --result=results.xml |
| TRX | dotnet test --logger trx;LogFileName=results.trx |
CI example (GitHub Actions)
- name: Run FlaUI tests
run: dotnet test --logger "nunit;LogFilePath=TestResults/results.xml"
- name: Upload to QA Touch
run: npx ts-node upload-results.ts
env:
QATOUCH_TOKEN: ${{ secrets.QATOUCH_TOKEN }}