Gaffer and TestDino both host and analyze CI test reports, and they bet on different things. TestDino goes deep on Playwright: inline trace, DOM, and network debugging, a built-in test-case management layer, and an agent-writable MCP server. Gaffer stays framework-agnostic and prices on storage instead of executions or seats. The clearest split is the bill. TestDino’s tiers gate on a monthly execution quota and a hard user cap (1 user on Free, 3 on Pro, 20 on Team), while Gaffer bills on stored bytes with unlimited users on every tier. A 25-person team running roughly 100,000 Playwright results a month clears TestDino’s Team tier on two axes at once, the 75,000-result quota and the 20-seat cap, while the same workload sits inside Gaffer’s $49/month Team plan, which never caps users.
What Gaffer and TestDino Actually Are
TestDino is a Playwright-native test reporting and analytics platform. It ingests Playwright output and adds inline debugging (trace, DOM snapshots, network logs), root-cause failure categorization, test-case management, and an MCP server that coding agents can both read from and write to. The full feature reference is in TestDino’s docs.
Gaffer hosts and analyzes test reports from many frameworks. It ingests JUnit XML, CTRF, Jest and Vitest JSON, native Playwright JSON, and TRX/.NET, plus four coverage formats, then runs flaky detection, pass-rate trends, and failure clustering on every upload. It is a reporting and analytics surface, not a test-management tool.
Where TestDino Is Stronger
If your stack is Playwright and you want depth over breadth, TestDino has real advantages Gaffer does not match:
- Playwright-native inline debugging: trace, DOM snapshots, and network logs attached to each failure, viewable without leaving the report.
- Write-capable MCP: its public MCP server (
testdino-hq/testdino-mcp) exposes 33 tools, including mutations likecreate_manual_test_caseandcreate_release, so a coding agent can manage test artifacts directly. - Built-in test-case management: suites, cycles, and imports from TestRail or CSV.
- Root-cause failure grouping: failures are grouped by error message and a root-cause category (timing, environment, network, assertion), on top of message matching.
- Failed-only reruns and flakiness merge-gates: rerun only the failures, and block merges on a flaky signal.
- Published compliance posture: TestDino publicly claims SOC 2 Type II and ISO 27001 certification and GDPR compliance on its security page. Gaffer claims no certifications, which is a real gap for teams with a security-review checklist.
Where Gaffer Is Stronger
Gaffer’s advantages are pricing shape and framework breadth, plus a smaller surface to adopt.
- Flat, storage-based pricing with unlimited users: no per-tier execution quota and no seat cap. Everyone on the team can have an account on any tier, including Free.
- Multi-framework reporting: one dashboard for JUnit XML, CTRF, Jest, Vitest, native Playwright JSON, and TRX/.NET, which transitively covers pytest, Go, Cypress, and anything that emits JUnit XML or CTRF. See multiple test frameworks.
- Coverage tracking alongside test results: four coverage formats parsed and trended in the same view as pass rate.
- No test-management layer to adopt: Gaffer hosts reports and runs analytics. There is nothing to configure beyond a CI upload step.
Pricing: Execution Quotas vs Flat Storage
The two products meter different things. TestDino charges a flat monthly subscription but gates each tier on a monthly execution quota and a hard user cap. Gaffer charges a flat monthly subscription that meters only storage, and never caps users.
TestDino counts each test-case run as one result: a single test run across three browsers counts as three results, and each retry counts again. Cross-browser matrices and retries consume the quota quickly. Gaffer counts nothing per-execution. It bills on stored bytes, with $0.50/GB/month overage on Pro and Team, and puts no cap on users on any tier including Free.
Which is cheaper depends on the shape of your workload. A small Playwright-only team may fit comfortably inside TestDino’s Free or Pro tier. A CI-heavy team, or one past 20 people, usually pays less on Gaffer, because neither execution volume nor headcount moves the bill. The above-quota overage price on TestDino is not published, so a team near its quota should confirm it before scaling up.
Pricing Comparison
| Tier | TestDino | Gaffer |
|---|---|---|
| Free | $0, 5,000 results/mo, 1 user, 1 project | $0, 500 MB, 7-day retention, unlimited users |
| Entry paid | $39/mo billed annually ($49/mo monthly), 25,000 results/mo, 3 users, 3 projects | $15/month, 10 GB, 30-day retention, unlimited users |
| Team | $79/mo (annual-effective), 75,000 results/mo, 20 users, 5 projects | $49/month, 50 GB, 90-day retention, unlimited users |
| Overage | Above-quota price not published | $0.50/GB/month (Pro and Team) |
| Enterprise | Custom | Not offered |
| Billing basis | Execution quota + user cap per tier | Storage, unlimited users |
A “result” on TestDino is one test-case run, so cross-browser runs and retries multiply against the quota. Gaffer’s bill moves only with stored bytes.
Feature Comparison
| Feature | TestDino | Gaffer |
|---|---|---|
| Test report hosting | Yes | Yes |
| Framework scope | Playwright-native | Multi-framework (JUnit XML, CTRF, Jest, Vitest, Playwright JSON, TRX/.NET; transitively pytest, Go, Cypress) |
| Inline trace / DOM / network debugging | Yes (Playwright-native) | No |
| Historical trends | Yes | Yes |
| Flaky test detection | Yes | Yes |
| Failure grouping | Error message + root-cause category | Error-message similarity + file-path fallback |
| Test-case management (suites, cycles, imports) | Yes | No (by design) |
| Failed-only reruns / flaky merge-gates | Yes | No |
| MCP server | Yes, write-capable (33 tools) | Yes, read-only (16 GET functions) |
| Coverage tracking | Not advertised | Yes (4 formats) |
| Published compliance posture | SOC 2 Type II and ISO 27001 claimed; GDPR compliance stated | None |
| User pricing | Capped per tier (1 / 3 / 20) | Unlimited users, all tiers |
Both MCP servers are real. TestDino’s is write-capable so an agent can create test cases and releases. Gaffer’s is read-only code-mode analytics (16 GET functions, zero mutations), a deliberate choice that matches Gaffer not being a test-management tool: query your results, do not manage test cases from the editor.
When to Use TestDino
TestDino is the better fit if:
- Your suite is Playwright and you want inline trace, DOM, and network debugging on every failure.
- You want a coding agent that can write test artifacts (manual test cases, releases) through MCP, beyond reading metrics.
- You need built-in test-case management: suites, cycles, and imports from TestRail or CSV.
- Failed-only reruns and flakiness merge-gates are part of your CI workflow.
- Your security review needs a vendor that publishes SOC 2 Type II and ISO 27001 claims.
- Your team is small enough to sit inside the 1 / 3 / 20 user caps and the per-tier result quota.
When to Use Gaffer
Teams shopping for a TestDino alternative usually hit one of two walls first: the seat cap or the execution quota. Gaffer is the better fit if:
- You run more than one test framework and want them in a single dashboard.
- Your team is at or past 20 people, or growing, and a seat cap is the binding constraint.
- Your CI produces high result volume (cross-browser matrices, frequent retries) and you would rather not track it against a quota.
- You want coverage tracking trended next to pass rate for the same upload.
- You want a plain hosted-report and analytics surface with no test-management layer to adopt.
- You want read-only MCP analytics for agentic CI without giving an agent write access to your test data.
Using Both
You can run both without a migration. Standard report formats are portable, so a common split is to upload Playwright output to TestDino for deep, inline debugging and send JUnit XML or CTRF to Gaffer for multi-framework hosting and analytics. Neither side requires a big-bang cutover, and JUnit XML and CTRF are first-class inputs on Gaffer, so adding a second upload step in CI is the whole cost.
FAQ
Is Gaffer or TestDino cheaper?
It depends on the shape of your workload. TestDino gates each tier on a monthly execution quota and a hard user cap (1 user on Free, 3 on Pro, 20 on Team), while Gaffer bills on storage with unlimited users. A CI-heavy team, or one larger than 20 people, usually pays less on Gaffer, because neither execution volume nor headcount changes the bill. A small Playwright-only team may fit inside TestDino’s free or Pro tier.
Does Gaffer support Playwright?
Yes. Gaffer ingests native Playwright JSON, and also Jest, Vitest, pytest, Go, Cypress, and .NET through JUnit XML, CTRF, and native JSON formats, plus coverage formats. TestDino is Playwright-native and does not claim other frameworks.
Does Gaffer have test-case management?
No, by design. Gaffer hosts and analyzes test results; it is not a test-management tool and has no suites, cycles, or manual test plans. TestDino includes test-case management with suites, cycles, and imports from TestRail or CSV.
Is TestDino only for Playwright?
TestDino is Playwright-native and does not claim support for other frameworks. Its inline trace, DOM, and network debugging are built on Playwright’s own artifacts. If you run multiple frameworks and want them in one dashboard, Gaffer’s multi-framework ingestion is the better fit.
Can I use both Gaffer and TestDino?
Yes. Standard report formats are portable, so a team can upload Playwright output to TestDino for deep debugging and send JUnit XML or CTRF to Gaffer for multi-framework hosting and analytics. There is no big-bang migration required in either direction.
Other Comparisons
Evaluating more tools? See how Gaffer compares to Currents.dev, Allure, and ReportPortal.
Try It
Gaffer’s free tier includes 500 MB storage, 7-day retention, and unlimited users. Enough to point your CI at it for a week and decide.