Basic example
Browser steps
Each browser node contains an ordered list of steps. Steps execute sequentially inside a single browser page.navigate
Navigate to a URL. Accepts a raw string,variable(), or secret().
click
Click an element by CSS selector.fill
Type into an input field. The value accepts raw strings,variable(), or secret().
select
Choose an option from a<select> dropdown.
waitForSelector
Wait for an element to reach a given state before continuing.extractText
Extract the text content of an element and store it under a name for later assertions.state["node"].extracts["name"].
screenshot
Capture a screenshot of the page at this point in the flow.BrowserAction config
Wrap your steps inBrowserAction() to create a browser node:
Browser assertions
Browser nodes expose different state properties than API request nodes. Use these in.assert():
Page state
Performance
Console errors
Catch JavaScript errors thrown in the browser:Extracted text
Assert on values captured byextractText() steps:
Login flow example
A common pattern: navigate to a login page, enter credentials usingsecret(), submit, and verify the redirect.
Mixed API + browser monitors
Combine API requests and browser interactions in a single monitor. For example, create a resource via the API and then verify it appears in the UI:Using with the graph builder
UseBrowserAction() with addNode() the same way you use HttpRequest():
Frequency requirements
Browser monitors require a minimum frequency of 1 minute. API-only monitors have no minimum.Browser monitors are more resource-intensive than API monitors. Choose a frequency that balances monitoring coverage with execution cost.