Test Cases already ran alphabetically if you dialed parallelism down to 1. We upgraded that into a real mode: an explicit Sequential option with its own say in what happens when something fails.
01_Login always runs before 02_Create_Report.Use it for dependency chains like Create, Edit, Delete, where each step needs the last one's result. Prefix Test Case names with numbers (01_, 02_, 03_) to pin the exact order, and pick Stop when a failed step leaves nothing left to test.
#Sprint28
File Compare already reads text across two files, even different types, a PDF against a DOCX, a contract against its template. The upgrade is how you see the results: a new dual-pane viewer lays both files side by side, with every match and mismatch highlighted right where it happened.
Currently in beta.
#Sprint28
A prerequisite Test Case could already gate a Test Set, stopping everything downstream if it failed. What it actually produced along the way just disappeared. Now it doesn't have to.
Log in once at the top of a Test Set, capture the session token, and every Test Case after it reuses that same session instead of logging in again. The same pattern works for any setup step whose output the rest of the suite needs.
#Sprint28
API steps now handle the request bodies real APIs actually expect.
If you've been blocked on testing file upload endpoints, document submission flows, or anything that expects multipart payloads, the API step handles it natively now.
#Sprint27
Xray integration gets a meaningful upgrade in both directions.
If you manage tests in Xray and execute them in Thunders, your Xray tickets now reflect what actually happened, automatically. The full round trip works for both Cloud and Data Center.
#Sprint27
Pixel-perfect comparison is rarely what you want. Real screenshots have placeholder data, timestamps, and mock content that shouldn't fail a test. Now you can tell Thunders what to ignore.
Use it when your design mockups have lorem ipsum, your test environment shows different user names, or your screenshots include timestamps. You define what matters, Thunders compares accordingly.
Reporting a bug from Thunders used to drop a thin ticket into your backlog: a vague title, a screenshot, and not much else. Now every reported bug arrives with everything your team needs to fix it.
[Severity] IssueType on Element | TestCaseName, so your team can triage at a glance from the backlog view.Works across Linear, Jira, ClickUp, Shortcut, Notion, and Azure DevOps. A developer (or an AI agent) opens the ticket and has everything they need: where it happened, what the page looked like before and after, what the console said, and what the AI was reasoning about when it failed. No back-and-forth required.
#Sprint27
Until now, Thunders Copilot lived in test authoring. Now it lives where you debug too.
When a run fails and you're trying to figure out why, you don't have to leave the page or recreate context. Ask Thunders Copilot in place, and it knows exactly what you're looking at.
#Sprint27
Some test environments need setup that's not really about the test itself. A captcha to bypass, a tracker to silence, a flag to flip. Init Scripts handle that.
If you've been working around a captcha in dev, polluting your analytics with test traffic, or manually toggling feature flags before each run, this handles it cleanly at the environment level.
Sometimes the test you want lives in a document. A spec, a PDF, a CSV of test data, a screenshot. Now Thunders Copilot can read it.