Guides
Export a JUnit report for your CI to read
Every run Silan makes writes a JUnit file, an HTML report and a JSON report into its run folder. This guide gets those files out of a run so your build script can keep them as test results and artifacts.
Time: about 5 minutes.
You need:
- A flow, for example the one from Write and run a flow.
- The Silan app open on the Mac, with the device set up. The engine runs inside the app, and a person’s app window must be on the Mac. Headless use with no app window is not supported yet.
-
Open Flows, open your flow and press Run once. Pick the device and wait for the run to end.
-
Open the run. The run page shows the verdict, the picture from the moment a step failed, the timeline and the steps.
-
Open the run’s ⋯ menu and press Download report…. Choose a folder. Silan saves three files there.
File What it holds junit.xmlJUnit XML: one test case per step with its time and, on failure, the message. Most CI servers read this format and show it as a test tab. index.htmlThe same report the app shows, with every step’s picture embedded, so one file travels on its own. report.jsonThe run as data: verdict, steps, timings and findings, for your own scripts. -
If a script collects the files instead, press Copy run id in the same menu. The run folder is
~/Library/Application Support/Silan/runs/<run id>/, and it also holdstimeline.jsonand amedia/folder of pictures. -
In your build script, keep
junit.xmlas a test result andindex.htmlas an artifact.
The command line
Section titled “The command line”The silan run command is meant to run a flow from Terminal, bind its role to a device and write the three files where you ask, with exit code 0 only when the run passed. On the current release it answers “the scenario engine is not available in this engine” (seen 4 Nov 2026), so it cannot be used yet. The exit codes below are the design, not a proof.
| Code | Meaning |
|---|---|
| 0 | the run passed |
| 1 | the run failed, or it was stopped |
| 2 | wrong arguments |
| 3 | no engine answers (the app is not open) |
| 4 | the key was refused |
If something goes wrong
Section titled “If something goes wrong”- The menu has no Download report… The run has not ended yet. Wait for the verdict.
- The run waits and never starts. The device is busy with another run or an agent task. The run page says which run it waits for and when it gives up.
- The build server has no app window. Silan needs the app running on the Mac today. A headless station is planned, so a Mac with a signed-in user is the build agent for now.