Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
9b83f86
Add Playwright check type comparison
stefanjudis Oct 16, 2025
77d9581
Update MultiStep browser information
stefanjudis Oct 16, 2025
351d88c
Update detect/synthetic-monitoring/playwright-monitoring-comparison.mdx
stefanjudis Oct 16, 2025
43eb27d
Update detect/synthetic-monitoring/playwright-monitoring-comparison.mdx
stefanjudis Oct 16, 2025
e32e51a
Update detect/synthetic-monitoring/playwright-monitoring-comparison.mdx
stefanjudis Oct 16, 2025
b66b0c8
Spel WebKit correctly
stefanjudis Oct 16, 2025
2280cb2
Update detect/synthetic-monitoring/playwright-monitoring-comparison.mdx
stefanjudis Oct 16, 2025
bf87f45
Update detect/synthetic-monitoring/playwright-monitoring-comparison.mdx
stefanjudis Oct 16, 2025
6fcca0c
Update detect/synthetic-monitoring/playwright-monitoring-comparison.mdx
stefanjudis Oct 16, 2025
a0803dd
Update detect/synthetic-monitoring/playwright-monitoring-comparison.mdx
stefanjudis Oct 16, 2025
923b36c
Update detect/synthetic-monitoring/playwright-monitoring-comparison.mdx
stefanjudis Oct 16, 2025
e5e7b35
Update detect/synthetic-monitoring/playwright-monitoring-comparison.mdx
stefanjudis Oct 16, 2025
ad38bdc
Update PWN comparison table
stefanjudis Oct 16, 2025
9fdfaf4
Add playwright comparison item for flaky tests
stefanjudis Oct 16, 2025
2490fa7
Update Playwright comparison wording
stefanjudis Oct 16, 2025
298bc48
Update detect/synthetic-monitoring/playwright-monitoring-comparison.mdx
stefanjudis Oct 16, 2025
2cbb585
Add playwright config details to PWN check comparison table
stefanjudis Oct 16, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
51 changes: 51 additions & 0 deletions detect/synthetic-monitoring/playwright-monitoring-comparison.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
---
title: 'Playwright Monitoring Options'
description: 'Compare the features of the different Playwright-based checks'
sidebarTitle: 'Playwright Monitoring Options'

---

import { checkDurations } from '/snippets/check-comparison.mdx'

[MultiStep Checks](/detect/synthetic-monitoring/multistep-checks/overview), [Browser Checks](/detect/synthetic-monitoring/browser-checks/overview), and [Playwright Check Suites](/detect/synthetic-monitoring/playwright-checks/overview) use Playwright for synthetic monitoring. The different check types vary in capabilities, flexibility, and use cases.

After logging into the Checkly web application, you can use the built-in editor to write Playwright code to monitor your APIs and sites. **Use MultiStep and Browser checks to get started quickly via the user interface**. Checkly handles code storage, configuration of advanced settings, and dependency updates with [runtimes](/platform/runtimes/overview/).

However, when your monitoring setup needs to scale with your growing project requirements, you'll quickly look for ways to version-control your checks using [the Monitoring as Code approach \(MaC\)](/concepts/monitoring-as-code).

All Playwright-based checks can be created, updated and configured as code. But, when should you use which?

## When to use MultiStep Checks

Choose [MultiStep Checks](/detect/synthetic-monitoring/multistep-checks/overview) when you need to monitor complex API workflows with sequential requests using the familiar Playwright API. MultiStep Check runs are based on a single `spec.ts` file, limited to making HTTP requests (there's no browser available) and **the max check run duration is capped at { checkDurations.multiStep }**.

## When to use Browser Checks

Choose [Browser Checks](/detect/synthetic-monitoring/browser-checks/overview) when you need to monitor end-to-end user flows and realistic interactions with automated browser testing using Playwright. Browser Check runs are based on a single `spec.ts` file, support the headless Chromium/Chrome browser and **the max check run duration is capped at { checkDurations.browser }**.

## When to use Playwright Check Suites

Choose [Playwright Check Suites](/detect/synthetic-monitoring/playwright-checks/overview) when you need cross-browser support, custom dependencies, or when you already have an existing Playwright test suite that includes critical flows that should become monitoring checks.

Playwright Check Suites support multiple spec files, advanced global configuration, multiple Playwright projects, tags for selective monitoring, storage state, custom dependencies, and more.

<Tip>
Playwright Check Suites are the native way to run your Playwright project in production.
</Tip>

## Feature comparison

| Feature | Playwright Check Suites | Browser Check | MultiStep Check |
|-------------------------------------------------------------|--------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------|
| Supports *Monitoring as Code* | Yes | Yes | Yes |
| [Test fixtures](https://playwright.dev/docs/test-fixtures) | `page`, `context`, `browser`, `browserName`, `request` | `page`, `context`, `browser`, `browserName`, `request` | `request` |
| Multiple spec files | Yes | No | No |
| Flexible test selection via tags and projects | Yes | No | No |
| Browser compatibility | Chromium, WebKit, Firefox | Chromium, Chrome | — |
| Storage state | Yes | No | No |
| Multiple Playwright Projects | Yes | No | No |
| Custom dependencies (public and private) | Yes | No, fixed runtime dependencies. | No, fixed runtime dependencies. |
| Max Check Duration | { checkDurations.checkSuite } | { checkDurations.browser } | { checkDurations.multiStep } |
| Playwright feature parity | Complete ([via `playwrightConfigPath`](/constructs/project#param-checks-playwright-config-path)) | Partial ([via `playwrightConfig`](/constructs/project#param-checks-playwright-config)) | Partial ([via `playwrightConfig`](/constructs/project#param-checks-playwright-config)) |
| Flaky test detection | Yes | No | No |
| Fake media devices | Yes | No | No |
5 changes: 3 additions & 2 deletions docs.json
Original file line number Diff line number Diff line change
Expand Up @@ -197,6 +197,7 @@
"detect/synthetic-monitoring/api-checks/troubleshooting"
]
},
"detect/synthetic-monitoring/playwright-monitoring-comparison",
{
"group": "Multistep Checks",
"pages": [
Expand Down Expand Up @@ -565,7 +566,7 @@
{
"group": "opentelemetry",
"pages": [

]
},
{
Expand Down Expand Up @@ -604,7 +605,7 @@
"api-reference/analytics/playwright-checks",
"api-reference/analytics/tcp-checks",
"api-reference/analytics/url-monitors"

]
},
{
Expand Down
5 changes: 5 additions & 0 deletions snippets/check-comparison.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
export const checkDurations = {
multiStep: '2 minutes',
browser: '2 minutes',
checkSuite: '15 minutes',
};