TestDino
Test Annotations & Tags

Organize, filter, and gate tests with tags.

Annotations and tags from your Playwright code become filters, quality gates, and report scopes.

Free up to 5,000 executions/month. Setup in under 5 minutes.

TestDino annotations and tags dashboard
Playwright-native reporting
AI-powered test analysis
Trusted by teams at

400 tests and no way to slice
them by feature or priority

Everything is organized by file name, not by what it actually tests.

Cannot filter results by feature, priority, or team

CI finishes and you see 12 failures. Three are checkout, two are auth, seven are flaky. But the test report does not know any of that. You scan test names and mentally categorize each failure.

Tag conventions vary across the team

One engineer uses @smoke, another uses @Smoke, a third uses @smokeTest. Your CI grep command only catches one of them. Critical tests get skipped because nobody enforced a standard.

Annotations exist in code but never surface in reports

You add test.fixme(), test.slow(), and custom annotations to your Playwright tests, but your reporting tool ignores them. The metadata you added has zero visibility outside source code.

No way to enforce mandatory tags

New tests get merged without any tags. Over time, half your suite is untagged, making every filter useless. There is no gate in CI that catches missing tags before they reach main.

Three failures. You still do not know what matters.

Without TestDino

Tests failed. Who fixes what?

Without Annotations
Test Results . 5 tests
Checkout . submit order
Cart . apply discount code
Login . valid credentials
Search . filter by category
Profile . upload avatar
No priority. No owner. No feature context.
3failed unowned
With TestDino

Priority, feature, owner. All visible.

With TestDino Annotations
Annotated Tests . 5 tests
Checkout . submit order
P0Checkout@ashish#e2e-alerts
Cart . apply discount code
P1Cart@kriti
Login . valid credentials
P0Auth@qa-team
Search . filter by category
P2SearchJIRA-1234
Profile . upload avatar
P1Profile@ashish
P0 = fix now
P0fix nowautorouted

How annotations and tags work

Get annotations and tags working across your test suite, reports, and AI tools in four steps.

Add the TestDino reporter

One line in your Playwright config. Every annotation and tag from your Playwright tests is captured automatically. Your code is the source of truth.

playwright.config.ts
reporter: [
  ['html', { outputDir: './playwright-report' }],
  ['json', { outputFile: './playwright-report/report.json' }],
]
Upload after tests run
npx tdpw upload <report-dir> --token=$TESTDINO_API_KEY

Tag and annotate your tests

Add testdino: annotations to your Playwright tests to set priority, feature area, owner, and Slack routing. TestDino reads them on every run and makes them filterable in the dashboard.

Tag and annotate your tests

Filter and set quality gates

Configure mandatory tags and quality gates in your GitHub settings. Set pass rate thresholds, flaky limits, and required tags per environment. Merges are blocked when tests fail the gate.

Filter and set quality gates

Query tagged tests via MCP

Connect the TestDino MCP server to your editor and query which tagged tests failed on the last run, which smoke tests are flaky, or which checkout cases broke on main, without opening the dashboard.

Query tagged tests via MCP

Teams love what we built

See why developers choose TestDino to ship faster and debug smarter

Shrinath Rao

Over 30 flaky tests and no structured way to track them, just CI artifacts and morning guesswork. TestDino's "Most Flaky Tests" feature broke this pattern. We can see failure trends now and pull up video recordings of exactly what went wrong. The TestDino MCP server is the magic piece on top, I ask my Claude agent about a failure and it pulls full context from TestDino without switching tabs. We went from 30-something flaky tests down to 3 or 4.

70%

Fewer flaky test reruns

3x

Faster failure triage

Shrinath Rao

Lead Quality Assurance Engineer

Johan Frølich

Migrating to TestDino from Currents was an easy decision. The features are stronger, the cost is lower, and the interface makes debugging far less painful. Flaky test detection and AI failure classification have simplified debugging and reduced our CI costs by cutting down reruns and noisy failures.

40%

Reduction in CI costs

90%

Less time triaging failures

Johan Frølich

CTO & Co-founder

Everything you need to organize
tests with annotations and tags

Automatic tag sync from your test code

Tags from your Playwright test titles sync on every run. No separate tagging tool, no manual steps.

testdino: annotations for structured metadata

Set priority, feature, owner, Slack channel, and ticket link directly in your test code using testdino: annotations.

Tag-based filtering across all views

Test runs, case lists, flakiness reports, and trend dashboards are all filterable by any tag or annotation value.

Mandatory tag enforcement in CI checks

Define which tagged tests must pass in CI. If a tagged test fails, the check fails and the merge is blocked.

Tag-based reporting and dashboards

Scope reports and dashboards to specific tags, like a weekly summary of only smoke tests or checkout failures.

Custom annotation metadata

Supported annotation fields include priority, feature, owner, link, notify-slack, context, flaky-reason, and metric.

What you get with annotations and tags

A structured, filterable test suite you can navigate in one click.

Consistent tagging enforced across the team

Consistent tagging enforced across the team

Mandatory tag rules and CI quality gates ensure every test has the tags it needs. No more half-tagged suites where filters only work if you know which tests are missing labels.

Custom metrics tracked as time-series data

Custom metrics tracked as time-series data

Use testdino:metric to track numeric values like page load time, API latency, or Lighthouse scores per test. Set thresholds, units (ms, s, mb, %), and track trends over time alongside your test results.

Slack alerts routed by annotation

Slack alerts routed by annotation

Use testdino:notify-slack to route failure alerts to specific channels or users. Annotate a test with #checkout-alerts or @jane and that person or channel gets notified when the test fails.

FAQs

The TestDino reporter reads tags from your Playwright test titles on every run and syncs them to the dashboard automatically. For richer metadata, add testdino: annotations to your test code to set fields like priority, feature, owner, and Slack routing.