> For the complete documentation index, see [llms.txt](https://docs.puppetry.app/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.puppetry.app/test-step/page-assertions.md).

# Page Assertions

## page.assertTitle

Asserts that the page title satisfies the given constraint

![page.assertTitle](/files/-LuCFtNdmvUDiYHFk0K_)

## page.assertUrl

Asserts that the page URL satisfies the given constraint

![page.assertUrl](/files/-LuCG4D2Kkh4HXQg3cB3)

## page.assertContent

Asserts that the page content (HTML) satisfies the given constraint

![page.assertContent](/files/-LuCGJVPz09_bWaxV_0w)

## page.assertNodeCount

Asserts that number of elements matching a specified selector satisfies the given constraint

![page.assertNodeCount](/files/-LuCGPvcuiOAwZA-KGaA)

## page.assertScroll

Asserts that [window scroll](https://developer.mozilla.org/en-US/docs/Web/API/Window/scroll) offset satisfies the given constraint

![page.assertScroll](/files/-LuCGWA_6Tx69qhsPqSJ)

## page.assertVar

Asserts that variable associated with a given name satisfies the given constraint

![page.assertVar](/files/-LuCGbs_2K67E-98Xg2p)

## page.assertScreenshot

Asserts that screenshot of the page matches already approved one

![page.assertScreenshot](/files/-LuCGt6z3UxgnFatvuLB)

![page.assertScreenshot advanced options](/files/-LuCGvrK-P5zqr83LyOj)

## page.assertRest

Makes HTTP/S request and asserts that the response satisfies the given constraint.

{% hint style="info" %}
The method automatically assigns the response text data to template variable `PUPPETRY_LAST_RESPONSE_TEXT`
{% endhint %}

![ page.assertRest](/files/-LvtymRgPCHMhNKYpowt)

## page.assertResponse

Asserts that the HTTP/S response satisfies the given constraint

![page.assertResponse](/files/-LvtyxdlScBTGR6_N61I)

## page.assertConsoleMessage

Asserts there were (no) console messages sent to console to satisfy the given constraint

![page.assertConsoleMessage](/files/-LuCU7aLM7uB1v8mc--f)

## page.assertDialog

Asserts there was called a dialog (alert, beforeunload, confirm or prompt).

![page.assertDialog](/files/-LuCUBG7j6IBYHuLlS2n)

## page.assertPerformanceAssetWeight

Asserts that total weight of assets (JavaScript, CSS, images, media, fonts, XHR) on the page satisfies the given budget.&#x20;

This assertion makes Puppetry to intercept HTTP requests. It compares the given limits to the encoded length of the requests. Note that the request length is considered `0` when request loaded from cache. So it makes sense to place this step next to the very first `page.goto` in the test suite.

![page.assertPerformanceAssetWeight](/files/-LuCHsENqomQr7BK4e0N)

## page.assertPerformanceAssetCount

Asserts that total number of requested assets (JavaScript, CSS, images, media, fonts, XHR) on the page satisfies the given budget.

![page.assertPerformanceAssetCount](/files/-LuCI9wLypFFWlj1OgZC)

## page.assertPerformanceTiming

Asserts a given [resource timing](https://w3c.github.io/perf-timing-primer/#resource-timing) under a provided budget

![page.assertPerformanceTiming](/files/-LuCIOaTiazTrGcMbedz)

## page.assertGaTracking

Asserts a given action was sent to Google Analytics with [analytics.js](https://developers.google.com/analytics/devguides/collection/analyticsjs) or [gtag.js](https://developers.google.com/analytics/devguides/collection/gtagjs). We also assert that sent payloads are valid according to the Google API

![page.assertGaTracking](/files/-LuCI_wv4zJat1WOhk8R)
