---
title: Browser Testing Results
description: >-
  View Synthetic browser test results and compare successful or failed sample
  runs to test runs.
breadcrumbs: >-
  Docs > Synthetic Testing and Monitoring > Browser Testing > Browser Testing
  Results
---

# Browser Testing Results

## Overview{% #overview %}

The test details page opens after a Synthetic browser test executes and is organized into four tabs: Activity, Test Runs, Performance, and Properties. Use these tabs to monitor uptime, inspect individual runs, review aggregate performance metrics, and manage test configuration. When a run fails, see Failed results for troubleshooting tools such as AI failure summaries and screenshot comparison.

## Test activity{% #test-activity %}

On the **Activity** tab, you can see:

- The **Global Uptime** graph, which displays the total uptime of all test locations in a given time interval. The global uptime visualization displays red only if the [alert conditions](https://docs.datadoghq.com/synthetics/browser_tests.md?tab=requestoptions#define-alert-conditions) configured for a test are triggered in the given time interval. Since location uptime is computed based on the final test result after retries complete, [fast retry](https://docs.datadoghq.com/synthetics/browser_tests.md?tab=requestoptions#fast-retry) intervals directly impact what appears in your total uptime graph. For more information about uptime monitoring, see the [Website Uptime Monitoring with SLOs](https://docs.datadoghq.com/synthetics/guide/uptime-percentage-widget.md) guide.
- A **Timeline** of alert triggers, recoveries, and test modifications.
- A **Summary** panel for the selected timeline event, showing what happened, the failing result, and suggested next steps for investigation.

{% image
   source="https://docs.dd-static.net/images/synthetics/browser_tests/synthetics_bits_investigation.cf3c80956534b32ee1691cde95db9050.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/synthetics/browser_tests/synthetics_bits_investigation.cf3c80956534b32ee1691cde95db9050.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="The Activity tab on a browser Test Details page showing Global Uptime, the alert timeline, and a failure detail panel with Bits Investigation." /%}

## Test runs{% #test-runs %}

On the **Test Runs** tab, you can see all individual runs of your test. Filter by status (passed or failed), run type, location, or device, and click any row to inspect that run in detail.

{% image
   source="https://docs.dd-static.net/images/synthetics/browser_tests/synthetics_test_runs.5f94c66246d56272e8d9a911a412dae2.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/synthetics/browser_tests/synthetics_test_runs.5f94c66246d56272e8d9a911a412dae2.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="The Test Runs tab on a browser Test Details page showing a filterable table of test runs with status, date, run type, steps, duration, location, device, browser, and test version columns" /%}

Browser test runs include components such as screenshots, page performance data, errors, resources, and backend traces to help troubleshoot your test failure.

{% collapsible-section %}
#### Test run columns

The following describes each column in the **Test Runs** table:

{% dl %}

{% dt %}
Status
{% /dt %}

{% dd %}
The status of the test run (`PASSED` or `FAILED`).
{% /dd %}

{% dt %}
Date
{% /dt %}

{% dd %}
The relative time and timestamp when the run executed.
{% /dd %}

{% dt %}
Run Type
{% /dt %}

{% dd %}
The type of test run (scheduled, CI, or manually triggered).
{% /dd %}

{% dt %}
Steps
{% /dt %}

{% dd %}
The number of test steps completed out of the total configured for the run.
{% /dd %}

{% dt %}
Duration
{% /dt %}

{% dd %}
The amount of time the test run took to complete.
{% /dd %}

{% dt %}
Location
{% /dt %}

{% dd %}
The managed or private location the test was executed from.
{% /dd %}

{% dt %}
Device
{% /dt %}

{% dd %}
The type of device the test was executed from.
{% /dd %}

{% dt %}
Browser
{% /dt %}

{% dd %}
The type of browser the test was executed from.
{% /dd %}

{% dt %}
Test Version
{% /dt %}

{% dd %}
The version of the test configuration used for the run.
{% /dd %}

{% /dl %}

{% /collapsible-section %}

### RUM sessions{% #rum-sessions %}

To view related sessions and available replays in the [RUM Explorer](https://docs.datadoghq.com/real_user_monitoring/explorer.md), click **View Session in RUM**. To access a user session for a particular action or step in [Session Replay](https://docs.datadoghq.com/real_user_monitoring/session_replay.md), click **Replay Session**. For more information, see [Explore RUM & Session Replay in Synthetic Monitoring](https://docs.datadoghq.com/synthetics/guide/explore-rum-through-synthetics.md).

### Screenshots and actions{% #screenshots-and-actions %}

Every executed test step contains a screenshot of the step action, a link to the session in Session Replay, the step description, starting URL for a given step, step ID, step duration, and page performance information.

### Errors and warnings{% #errors-and-warnings %}

Click the **Errors** pill to access the **Errors & Warnings** tab and examine a list of errors separated by error type (`js` or `network`) and status (the network status code).

{% image
   source="https://docs.dd-static.net/images/synthetics/browser_tests/test_results/synthetics_errors.961bd36f16124b7cdb061ccc04b90009.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/synthetics/browser_tests/test_results/synthetics_errors.961bd36f16124b7cdb061ccc04b90009.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="Browser test run details with the Errors pill highlighted on each step, indicating where to click to open the Errors & Warnings tab" /%}

The **Errors & Warnings** tab displays a list of errors separated by error type (`js` or `network`) and status (the network status code).

The error type is logged when the browser test interacts with the page. It corresponds to the errors collected between the time the page is opened and the time the page can be interacted with. The maximum number of errors that can be displayed is 8, for example: 2 `network` + 6 `js` errors.

### Resources{% #resources %}

Click the **Resources** pill to access the **Resources** tab and examine the combination of requests and assets, including the total step duration time under **Fully Loaded** and the CDN provider serving the resources.

{% image
   source="https://docs.dd-static.net/images/synthetics/browser_tests/test_results/synthetics_resources.a1b6e3a8c10a71b428246e6100484d40.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/synthetics/browser_tests/test_results/synthetics_resources.a1b6e3a8c10a71b428246e6100484d40.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="Browser test run details with the Resources pill highlighted on each step, indicating where to click to open the Resources tab" /%}

You can filter resources by type and search by name in the search bar. The maximum number of resources that can be displayed is 100. Resources are ordered by the time when they start and display the first 100 in Datadog.

{% collapsible-section %}
#### Resources tab columns

The following describes the column headers on the **Resources** tab:

{% dl %}

{% dt %}
Relative Time
{% /dt %}

{% dd %}
The point in time when the resource began to load during the test step.
{% /dd %}

{% dt %}
CDN
{% /dt %}

{% dd %}
The CDN provider that served the resource. Hover over a CDN provider's icon to see the raw cache status. Datadog detects Akamai, Cloudflare, Fastly, Amazon Cloudfront, Netlify, Google Cloud CDN, Imperva, and Sucuri.
{% /dd %}

{% dt %}
Resource
{% /dt %}

{% dd %}
The URL of the resource.
{% /dd %}

{% dt %}
Type
{% /dt %}

{% dd %}
The type of resource (HTML, Download, CSS, Fetch, Image, JavaScript, XHR, or Other).
{% /dd %}

{% dt %}
Method
{% /dt %}

{% dd %}
The method of the request.
{% /dd %}

{% dt %}
Protocol
{% /dt %}

{% dd %}
The protocol of the request.
{% /dd %}

{% dt %}
Status
{% /dt %}

{% dd %}
The HTTP response status code.
{% /dd %}

{% dt %}
Duration
{% /dt %}

{% dd %}
The time needed to perform the request.
{% /dd %}

{% dt %}
Size
{% /dt %}

{% dd %}
The size of the request response.
{% /dd %}

{% /dl %}

{% /collapsible-section %}

For Fetch and XHR resources, click on a resource row to view its request and response headers and body. Payload details are only available when **Capture HTTP payloads** is enabled in the test's [advanced options](https://docs.datadoghq.com/synthetics/browser_tests.md#advanced-options).

### Backend traces{% #backend-traces %}

Click the **Traces** pill to access the **Traces** tab and explore APM traces associated with the browser test. While the UI is similar to the [Trace View](https://docs.datadoghq.com/tracing/trace_explorer/trace_view.md) in the Trace Explorer, one browser test step can make multiple requests to different URLs or endpoints. This results in several associated traces, depending on your tracing setup and on the URLs you allowed in for browser tests in the [Synthetic Monitoring Settings page](https://docs.datadoghq.com/synthetics/settings.md?tab=specifyvalue#apm-integration-for-browser-tests).

For more information about cross-product correlation, see the [Ease Troubleshooting With Cross-Product Correlation](https://docs.datadoghq.com/logs/guide/ease-troubleshooting-with-cross-product-correlation.md#leverage-trace-correlation-to-troubleshoot-synthetic-tests) guide.

### Step duration{% #step-duration %}

Step duration represents the time a step takes to be considered fully loaded using the [Datadog locator system](https://docs.datadoghq.com/synthetics/browser_tests/advanced_options.md?tab=requestoptions#user-specified-locator). For more information, see [How Step Duration is Determined in Browser Tests](https://docs.datadoghq.com/synthetics/guide/step-duration.md).

If your test reaches the maximum execution time, the timeout message indicates that the total duration includes both test steps and system overhead. As a result, the reported test duration may differ from the sum of individual step durations.

{% image
   source="https://docs.dd-static.net/images/synthetics/browser_tests/test_results/test_execution_error.5abe8ae23804a801dbd171cef89803e4.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/synthetics/browser_tests/test_results/test_execution_error.5abe8ae23804a801dbd171cef89803e4.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="Test duration execution error message stating 'Maximum test execution time reached. This includes test steps and system overhead, so reported test durations may vary'." /%}

## Test performance{% #test-performance %}

On the **Performance** tab, you can see aggregate performance metrics across all runs of your test:

- **Browser success rate** cards for each browser type (Chrome, Firefox, Edge), displaying the percentage of passing runs in the selected time interval.
- **Average Test duration by browser type** and **Average Test duration by location & device** graphs, which display the time each browser, location, and device takes to complete the test in a given time interval.
- **p75 Largest Contentful Paint** and **p75 Cumulative Layout Shift** graphs, which display the 75th percentile of these [Core Web Vital metrics](https://docs.datadoghq.com/real_user_monitoring/application_monitoring/browser/monitoring_page_performance.md#event-timings-and-core-web-vitals) aggregated across runs.

{% image
   source="https://docs.dd-static.net/images/synthetics/browser_tests/synthetics_browser_graphs.f39d4ddc1cfb291cc5bf826b22f30e35.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/synthetics/browser_tests/synthetics_browser_graphs.f39d4ddc1cfb291cc5bf826b22f30e35.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="The Performance tab on a browser Test Details page showing Chrome, Firefox, and Edge success rates, test duration graphs by browser type and location, and p75 LCP and CLS Core Web Vital metrics" /%}

Within an individual test run, [Largest Contentful Paint](https://web.dev/lcp/) and [Cumulative Layout Shift](https://web.dev/cls/) are displayed as pills to the right of each step URL. [First Input Delay](https://web.dev/fid/) is available as a real metric if you are using [Real User Monitoring](https://docs.datadoghq.com/real_user_monitoring.md) to collect real user data. For more information, see [Monitoring Page Performance](https://docs.datadoghq.com/real_user_monitoring/application_monitoring/browser/monitoring_page_performance.md#event-timings-and-core-web-vitals).

{% image
   source="https://docs.dd-static.net/images/synthetics/browser_tests/test_results/page_performance_lab_metrics.782f0e264a5d4f2c2bb54fb9002e9cc2.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/synthetics/browser_tests/test_results/page_performance_lab_metrics.782f0e264a5d4f2c2bb54fb9002e9cc2.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="Synthetic lab metrics" /%}

## Test properties{% #test-properties %}

The **Properties** tab contains the configuration details, ownership information, and integrations associated with your test. Use the left navigation to switch between sections.

{% image
   source="https://docs.dd-static.net/images/synthetics/browser_tests/synthetics_properties_tab.bf729130208ec2cee2923cfd70838bf7.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/synthetics/browser_tests/synthetics_properties_tab.bf729130208ec2cee2923cfd70838bf7.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="The Properties tab on a browser Test Details page showing Ownership, Execution, and Monitor sections, with left navigation for Continuous Testing, Parent Tests, and other configuration" /%}

{% collapsible-section %}
#### Properties tab sections

The following describes each section available on the **Properties** tab:

{% dl %}

{% dt %}
**Ownership**
{% /dt %}

{% dd %}
Displays the test owner, editor, creation date, last modified date, environments, teams, and tags. Tests also link to an out-of-the-box Synthetic [browser test dashboard](https://docs.datadoghq.com/synthetics/dashboards/browser_test.md).
{% /dd %}

{% dt %}
**Execution**
{% /dt %}

{% dd %}
Shows the test frequency, alert conditions, and retry behavior.
{% /dd %}

{% dt %}
**Monitor**
{% /dt %}

{% dd %}
Contains the [Synthetic test monitor](https://docs.datadoghq.com/synthetics/guide/synthetic-test-monitors.md) name, priority, configured recipients, and notification message.
{% /dd %}

{% dt %}
**Continuous Testing**
{% /dt %}

{% dd %}
Sets the [execution rule](https://docs.datadoghq.com/continuous_testing/cicd_integrations/configuration.md?tab=npm#test-files) used when this test runs as part of a [Continuous Testing CI pipeline](https://docs.datadoghq.com/continuous_testing/cicd_integrations.md).
{% /dd %}

{% dt %}
**Parent Tests**
{% /dt %}

{% dd %}
Lists tests that reference this test, such as multistep tests that include it as a subtest.
{% /dd %}

{% dt %}
**Parent Suites**
{% /dt %}

{% dd %}
Lists the [test suites](https://docs.datadoghq.com/synthetics/test_suites.md) this test belongs to.
{% /dd %}

{% dt %}
**Downtimes**
{% /dt %}

{% dd %}
Lists [scheduled downtimes](https://docs.datadoghq.com/synthetics/platform/downtime.md) that pause execution of this test, for example during planned maintenance windows.
{% /dd %}

{% dt %}
**Configuration as Code**
{% /dt %}

{% dd %}
Exports the test configuration in formats such as Terraform for managing tests as code.
{% /dd %}

{% /dl %}

{% /collapsible-section %}

## Failed results{% #failed-results %}

A test result is considered `FAILED` if it does not satisfy its assertions or if a step failed for another reason. You can troubleshoot failed runs by looking at their screenshots, checking for potential errors at the step level, and looking into [resources](https://docs.datadoghq.com/tracing/services/resource_page.md) and backend traces generated by their steps.

### AI failure summaries{% #ai-failure-summaries %}

When a browser test run fails, Datadog generates an AI failure summary to help you identify the cause and next steps for investigation. Each summary includes:

- A short explanation of what failed, grounded in run data such as network errors, assertions, and screenshots.
- A classification of the failure as either a **true failure** (a real problem with your application) or a **test misconfiguration** (an issue with the test setup).
- Suggested next steps for troubleshooting.

AI failure summaries appear on the test run details page for any failing browser test run. Treat them as a starting point for investigation, not as authoritative root cause analysis, because LLM-generated content can contain inaccuracies. Use the 👍 and 👎 buttons on the summary to share feedback and help improve future results.

{% image
   source="https://docs.dd-static.net/images/synthetics/browser_tests/test_results/synthetics_ai_summaries_new.a11b6bdc2788b19b121b735085c58c77.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/synthetics/browser_tests/test_results/synthetics_ai_summaries_new.a11b6bdc2788b19b121b735085c58c77.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="AI failure summary panel on a failing browser test run" /%}

### Compare screenshots{% #compare-screenshots %}

To help during the investigation, click **Compare Screenshots** to receive side-by-side screenshots of the failed result and the last successful execution. The comparison helps you to spot any differences that could have caused the test to fail.

{% image
   source="https://docs.dd-static.net/images/synthetics/browser_tests/test_results/compare_screenshots.647c42aa8006598146c803f6eaa4ce8c.png?auto=format&fit=max&w=850 1x, https://docs.dd-static.net/images/synthetics/browser_tests/test_results/compare_screenshots.647c42aa8006598146c803f6eaa4ce8c.png?auto=format&fit=max&w=850&dpr=2 2x"
   alt="Compare screenshots between your failed and successful runs" /%}

**Note**: Comparison is performed between two test runs with the same version, start URL, device, browser, and run type (scheduled, manual trigger, CI/CD). If there is no successful prior run with the same parameters, no comparison is offered.

### Common browser test errors{% #common-browser-test-errors %}

{% dl %}

{% dt %}
`Element located but it's invisible`
{% /dt %}

{% dd %}
The element is on the page but cannot be clicked on—for instance, if another element is overlaid on top of it.
{% /dd %}

{% dt %}
`Cannot locate element`
{% /dt %}

{% dd %}
The element cannot be found in the HTML.
{% /dd %}

{% dt %}
`Select did not have option`
{% /dt %}

{% dd %}
The specified option is missing from the dropdown menu.
{% /dd %}

{% dt %}
`Forbidden URL`
{% /dt %}

{% dd %}
The test likely encountered a protocol that is not supported. [Contact Support](https://docs.datadoghq.com/help/) for more details.
{% /dd %}

{% dt %}
`General test failure`
{% /dt %}

{% dd %}
A general error message. [Contact Support](https://docs.datadoghq.com/help/) for more details.
{% /dd %}

{% /dl %}

## Test events{% #test-events %}

Alerts from your Synthetic test monitors appear on the timeline in the **Activity** tab, where you can review alert triggers, recoveries, and test modifications alongside the global uptime graph. To search for alerts from Synthetic tests in the Events Explorer, navigate to [**Events** > **Explorer**](https://app.datadoghq.com/event/explorer) and enter `@evt.type:synthetics_alert` in the search query. For more information, see [Using Synthetic Test Monitors](https://docs.datadoghq.com/synthetics/guide/synthetic-test-monitors.md).

## Further Reading{% #further-reading %}

- [Monitor Core Web Vitals with Synthetic Monitoring](https://www.datadoghq.com/blog/core-web-vitals-monitoring-datadog-rum-synthetics/#what-are-the-core-web-vitals)
- [Explore RUM & Session Replay in Synthetics](https://docs.datadoghq.com/synthetics/guide/explore-rum-through-synthetics.md)
- [Learn about the Browser Test Performance Dashboard](https://docs.datadoghq.com/synthetics/dashboards/browser_test.md)
- [Getting Started with Synthetic Monitoring & Browser Testing](https://learn.datadoghq.com/courses/getting-started-with-synthetic-browser-testing)
