See browser steps, API evidence and failures together.
Each project report keeps UI steps, API requests, assertions, captures, Verify: groups, reusable run() flows, cases, cleanup and browser failure evidence in one chronological run, including scenario-level screenshots and optional failure video.
Unified evidence
A v2 report understands both sides of the flow
UI
Browser steps
Locators, navigation, retryable waits, source lines, duration and failure screenshots and optional failure video.
API
API requests
Method, URL, status, timing and safe redacted request/response details.
✓
Verify & capture
Grouped assertions, individual child results, JSON/XPath captures and reusable outputs.
↗
Cases & nested flows
Case results, cleanup, same-project and cross-project run() trees remain expandable.
Interactive report experience
Use the dashboard preview like a real Ruviolta report
Expand scenarios and called flows, search and filter the run, open the scenario failure video or screenshot and browse previous reports. The controls below are a safe website demo only: they never read, open or delete files on your computer.
RUVIOLTA
Test Report
At least one scenario needs your attention.
10 Aug 2026, 07:25:35Chrome · HeadedProject: API Example
Project: API Exampletests/account.ut@prepareUserpassed
›Scenario: Prepare user1.84 s
✓
visit("www.example.com/account")
Line 7
1.11 s
✓
input("#username", "demo-user")
Line 8
42 ms
✓
click("#continue")
Line 9
119 ms
✓
waitForText("h1", "Account")
Line 10
569 ms
✓
check(".account-name").contains("demo-user")
Line 15
12 ms
›
Scenario: Open Example and continue
@login@smoke
failed
✓
visit("www.example.com")
Line 13
571 ms
✓
waitFor("main")
Line 14
76 ms
click("//button[contains(., 'Continue')]")
Line 15
Step failure
Step failed at line 15.
Element "//button[contains(., 'Continue')]" was not visible and enabled after 5000ms.
https://www.example.com/
5256 ms
No scenarios match the current search or filter.
Previous reports
Saved runs for Project: API Example
● 09 Aug 2026 · 22:41:183 scenarios · 3 passed · 0 failed · 5.9 s
● 09 Aug 2026 · 21:58:023 scenarios · 2 passed · 1 failed · 8.7 s
● 09 Aug 2026 · 20:37:442 scenarios · 2 passed · 0 failed · 4.2 s
Website demo only. Delete controls never touch report files; they only explain what the real local Ruviolta report can do.
Ruviolta failure videoExample DomainCaptured browser state around the failed scenario.ContinueScenario: Open Example and continue
▶00:04 / 00:06VP8 · WebM
ExampleExample DomainThis domain is for use in illustrative examples.Continuewww.example.com
What the dashboard keeps visible
Useful evidence instead of a flat pass/fail list
UI + API step details
Expand scenarios to inspect browser actions, API requests, assertions, captures, source lines, status and duration in chronological order.
Verify, Cases & Cleanup
Grouped verification, data cases and cleanup results remain visible under the scenario that owns them.
Scenario-level failure artifacts
Failed scenarios can expose Play video and View screenshot actions without duplicating visual artifacts inside failed steps or nested run details.
Search and filters
Search files, scenarios, tags and steps, then narrow the dashboard to all, failed or passed results.
Previous report history
Open older runs for the current project, remove one saved report, or remove all previous reports while keeping the current report protected.
Worker-safe evidence
Each Worker owns its own screenshot and video artifacts. Nested run() failures stay readable without repeating the same parent failure block above the called scenario.
latest.html and latest.json point to the latest project run. Timestamped folders preserve older report data and captured failure screenshots and videos.
The website preview above never reads, opens or deletes local report files. It only demonstrates the real Ruviolta report interface.
ruviolta run projects/example "@exampleDomain" --open-report
ruviolta run projects/example "@exampleDomain" --no-report
✦
Privacy & local storageThis site uses essential local storage only to remember this privacy notice. No analytics or marketing trackers are enabled in this build.