Squally and TestDino.
Side by side, area by area.

As of 12 November 2026, based on public documentation.

Squally

Squally is a hosted service that collects Playwright results from CI through its own reporter and shows runs, tests, errors and pull requests, with flaky and failure rates per test.

TestDino

TestDino is a hosted reporting, analytics and debugging platform for Playwright results, with AI features, an MCP server and manual test management.

At a glance

✓ documented and available · ✗ not offered · Partial: with documented limits · Not documented: not found in the public documentation.

AreaSquallyTestDino
SetupSquallyYesPlaywright reporter; results arrive while the suite runsTestDinoYes@testdino/playwright streaming reporter; tdpw CLI
Hosting and data locationSquallyHosted in the EU (Frankfurt)TestDinoMicrosoft Azure; listed regions: United States and Asia
Self-hostingSquallyNoNot offeredTestDinoNot documentedListed by the vendor; setup documentation not published
Flaky test detectionSquallyYesRetry-based per run; flaky rate per testTestDinoYesRetry-based per run; Reliability score across runs; quarantine
History and retentionSquallyYesRuns 30, 60 or 90 days by plan; artifacts 7 or 21 daysTestDinoYesBy plan: results 7 or 90 days, evidence 7 or 21 days
Pull requests and GitHubSquallyYesGitHub App: a check per commit, an optional pull request comment, a Pull requests pageTestDinoYesGitHub App: check with quality gates, pull request comment with an AI summary
GitHub permissionsSquallyChecks: read and write · Pull requests: read and write · Metadata: read-only (mandatory) · Organization members: read-only · No access to repository contents (code)TestDinoActions: read and write · Checks: read and write · Metadata: read · Code, Issues, PRs, Workflows: read and write (one row in their docs)
Error groupingSquallyYesFingerprint of the normalised error message and the test fileTestDinoYesDeterministic error groups; AI classification with a confidence score
Traces, screenshots and videoSquallyPartialScreenshots, Playwright traces and the browser console; no videoTestDinoYesTraces, screenshots, videos, console logs, visual diffs
API and MCPSquallyYesRead-only REST API; local MCP server with 7 read-only tools (Standard and Pro)TestDinoYesREST API (read and write), signed webhooks, local and remote MCP server
Test managementSquallyNoNot offeredTestDinoYesManual test cases, runs and exploratory sessions (Pro and above)
FrameworksSquallyPlaywrightTestDinoPlaywright (JavaScript/TypeScript) and TesterArmy's e2e framework
Notifications and reportsSquallyYesSlack, weekly email report, printable run reportTestDinoYesSlack, issue trackers, scheduled PDF reports

Area by area

Setup

Squally

You add the npm package squally-reporter as one line in playwright.config.ts and store the project's ingest key as a CI secret. Results arrive while the suite runs, with no upload step afterwards; it needs @playwright/test 1.30 or later and Node 20.18.1 or later.

Runs are recognised on GitHub Actions, GitLab CI, Azure Pipelines, Jenkins, Buildkite, Travis CI and Drone, and the shards of one CI run become one run.

TestDino

The @testdino/playwright reporter streams results, traces, screenshots and videos during the run, using a TESTDINO_TOKEN. The tdpw command wraps playwright test and adds options for sharding and for re-running failed or flaky tests.

For TeamCity and the CircleCI Orb, reports are uploaded after the build.

Hosting and data location

Guide: EU-hosted Playwright reporting and GDPR

Squally

Squally is a hosted service. It is hosted in the EU (Frankfurt).

The privacy policy lists the providers involved and what each one processes.

TestDino

TestDino runs on Microsoft Azure; its sub-processor page lists Azure in United States and Asia regions, and MongoDB Atlas and Azure OpenAI in the US.

An EU data-residency option is not documented.

Self-hosting

Squally

Squally is offered as a hosted service. A self-hosted or on-premises edition is not offered.

TestDino

Self-hosting is not documented.

On-premises deployment and a dedicated instance are listed by the vendor, without published setup documentation.

Flaky test detection

Guide: How to detect flaky tests in Playwright

Squally

A test's result in a run counts as flaky when it failed first and then passed on a Playwright retry, so retries need to be turned on.

For each test and period, Squally shows runs, stability, flaky rate (flaky runs ÷ runs), failure rate and the CI time that retries and failures cost. Squally does not quarantine or skip tests.

TestDino

A test that fails and then passes on a retry is flaky within a run; across runs, a Reliability score from 0 to 100 rates each test.

Flaky tests can be quarantined so that their failures do not fail the build.

History and retention

Squally

Runs and results are kept 30 days on the Free plan, 60 days on Standard and 90 days on Pro.

Screenshots, traces and browser consoles are kept 7 days for attempts that passed on the first try and 21 days for failures and retried tests, on every plan. Deletion runs once a day.

TestDino

Retention is set per plan: result history 7 days on Free and 90 days on paid plans, test evidence such as traces and screenshots 7 or 21 days, and trends from one month to custom.

Pull requests and GitHub

Squally

A GitHub App posts a check on every commit, one per CI job, and, if switched on for the project, one comment per pull request that is updated with each run. The Pull requests page compares each pull request's runs with its target branch.

Runs from GitLab, Azure Repos and Bitbucket are collected as well; checks and comments are posted to GitHub.

TestDino

The GitHub App posts pull request comments with an AI-generated summary and a TestDino check with quality gates, which can be made a required check.

GitLab gets merge request comments without checks, and Azure DevOps has a read-only extension that shows runs.

GitHub permissions

Squally

Checks: read and write. Pull requests: read and write. Metadata: read-only (mandatory). Organization members: read-only, used while connecting to confirm that the person installing the app is an owner of the GitHub organization.

No access to repository contents (code).

TestDino

Their docs list Actions and Checks (read and write), Metadata (read), and Code, Issues, PRs and Workflows (read and write) in one row.

Error grouping

Squally

Failures are grouped by a fingerprint of the normalised error message and the test file, so one error can be followed across runs and tests.

The Error explorer shows each error's runs, tests, failed and flaky rate, first and last seen, and a category derived from the error text.

TestDino

Failures are grouped by the failing element or request, the expected value, the screenshot or the interrupted step, with variable parts such as IDs and timestamps removed.

An AI classification assigns each failure a category and a confidence score; AI features are on by default and can be switched off per project.

Traces, screenshots and video

Squally

The reporter uploads screenshots, Playwright traces and the browser console; video is not uploaded.

A trace opens in Playwright's Trace Viewer (trace.playwright.dev) through a link that expires after ten minutes. Attempts that did not pass on the first try also carry their recorded steps.

TestDino

Traces, screenshots and videos follow the Playwright settings.

Traces open in Playwright's trace viewer (trace.playwright.dev by default) with a tab per attempt, alongside console logs and visual diffs.

API and MCP

Squally

On the Standard and Pro plans: a read-only REST API with organization read keys, documented in OpenAPI, and the MCP server squally-mcp, which runs locally and offers 7 read-only tools.

On attempt and run pages, “Fix in your agent” builds a prompt for your own coding agent; Squally sends nothing to an AI provider. Outgoing webhooks and a write API are not offered.

TestDino

A REST API with read and write endpoints, webhooks signed with HMAC-SHA256, and an MCP server that runs locally or remotely.

Its 57 tools include re-runs, quarantine and manual test management.

Test management

Squally

Squally has no test case management, manual runs or test plans.

TestDino

A manual test repository with suites, runs, milestones and exploratory sessions, linked to automated tests, with import from CSV or JSON.

It is available on the Pro plan and above.

Frameworks

Squally

Squally reads Playwright results through its own reporter. Other test frameworks are not supported.

TestDino

The docs cover Playwright for JavaScript and TypeScript, and TesterArmy's e2e framework.

Notifications and reports

Squally

A Slack message per CI run through an incoming webhook, and a weekly email report per project on the Standard and Pro plans.

A run report can be printed, saved as PDF or copied as Markdown. GitHub checks and pull request comments are described above.

TestDino

A Slack app with notifications for run summaries, failures, flaky tests and tags, on the Pro plan and above.

Jira, Linear, Asana and monday.com issues can be raised from a failed test, and scheduled PDF reports are sent by email.

Sources

As of 12 November 2026, based on public documentation. TestDino: its own documentation, product pages and repositories. Squally: its documentation and code. Something out of date or wrong? Write to support@squally.dev and we will correct it.

Squally

TestDino

TestDino is a trademark of its owner. Squally is not affiliated with, endorsed by or sponsored by the makers of TestDino.