Every step in a QA Flow test is represented by a node. Nodes are dragged from the palette onto the canvas, configured through a field panel, and wired together with edges to define execution order. This page documents every node type available in QA Flow, including its ID, label, purpose, and all configurable fields.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/davidG97/qa-flow/llms.txt
Use this file to discover all available pages before exploring further.
Trigger Nodes
Trigger nodes mark the entry point of a test flow. Every flow must start with exactly one trigger.start — Inicio (Test Entry Point)
start — Inicio (Test Entry Point)
trigger | Label: InicioThe Start node is the anchor of every flow. It defines the base URL, names the test, assigns tags for filtering, and optionally configures full device emulation for the browser context that Playwright will open.Basic fields:| Field | Type | Required | Description |
|---|---|---|---|
testName | text | — | Human-readable name for the test (e.g. My login test) |
tags | tags | — | Comma-separated tags for filtering (e.g. @smoke, @regression) |
baseUrl | text | ✅ | The root URL all relative paths resolve against (e.g. https://example.com) |
| Field | Type | Default | Description |
|---|---|---|---|
device | select | (none) | Emulate a named device: Pixel 5, Pixel 7, iPhone 12–14 Pro Max, iPad Mini, iPad Pro 11, Galaxy S9+, Galaxy Tab S4 |
viewportWidth | number | 1280 | Viewport width in pixels |
viewportHeight | number | 720 | Viewport height in pixels |
deviceScaleFactor | number | 1 | Device pixel ratio |
isMobile | boolean | false | Treat the context as a mobile browser |
hasTouch | boolean | false | Enable touch event support |
locale | select | (default) | Browser locale: en-US, en-GB, es-ES, es-MX, es-CO, pt-BR, fr-FR, de-DE, it-IT, ja-JP, ko-KR, zh-CN |
timezoneId | select | (default) | IANA timezone: America/New_York, America/Los_Angeles, America/Bogota, Europe/London, Asia/Tokyo, and more |
geoLatitude | text | — | GPS latitude for geolocation emulation |
geoLongitude | text | — | GPS longitude for geolocation emulation |
geoAccuracy | number | — | Geolocation accuracy in metres |
colorScheme | select | (default) | Preferred color scheme: light, dark, or no-preference |
reducedMotion | select | (default) | Reduced motion preference: reduce or no-preference |
forcedColors | select | (default) | Forced colors mode: active or none |
offline | boolean | false | Simulate an offline network state |
javaScriptEnabled | boolean | true | Toggle JavaScript execution in the browser context |
userAgent | textarea | — | Override the browser’s User-Agent string |
permissions | tags | — | Browser permissions to grant (e.g. geolocation, notifications, camera) |
Action Nodes
Action nodes drive the browser — they navigate, interact with elements, and read data from the page. Use them to simulate everything a real user would do.navigate — Navegar (Go to URL)
navigate — Navegar (Go to URL)
click — Hacer Click (Click Element)
click — Hacer Click (Click Element)
action | Label: Hacer ClickClicks a DOM element identified by a selector. Supports left, right, and middle mouse buttons with configurable click count and delay.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
selector | text | ✅ | — | CSS/XPath selector (e.g. #id, .class, button[type="submit"]) |
button | select | — | left | Mouse button: left, right, or middle |
clickCount | number | — | 1 | Number of clicks to perform |
delay | number | — | 0 | Milliseconds between mousedown and mouseup |
force | boolean | — | false | Skip actionability checks and force the click |
timeout | number | — | 30000 | Maximum wait time in milliseconds |
check — Marcar/Desmarcar Checkbox (Check / Uncheck)
check — Marcar/Desmarcar Checkbox (Check / Uncheck)
action | Label: Marcar/Desmarcar CheckboxChecks or unchecks a checkbox or radio input element.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
selector | text | ✅ | — | Selector targeting the checkbox (e.g. input[type="checkbox"]) |
action | select | — | check | check to mark, uncheck to clear |
force | boolean | — | false | Skip actionability checks |
timeout | number | — | 30000 | Timeout in milliseconds |
type — Escribir Texto (Type Text)
type — Escribir Texto (Type Text)
action | Label: Escribir TextoTypes text into a focused input field, optionally clearing it first. Each character fires individual keyboard events, which is useful for inputs that react to keydown/keyup events.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
selector | text | ✅ | — | Target input selector (e.g. input[name="email"]) |
text | text | ✅ | — | The text to type |
clearFirst | boolean | — | true | Clear the field before typing |
delay | number | — | 0 | Milliseconds between each keypress |
fill — Rellenar Campo (Fill Field Instantly)
fill — Rellenar Campo (Fill Field Instantly)
action | Label: Rellenar CampoFills an input field instantly by setting its value directly — faster than type and suitable for most form inputs that don’t depend on keyboard event sequences.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
selector | text | ✅ | — | Target input selector |
value | text | ✅ | — | The value to insert |
select — Seleccionar Opción (Select Dropdown Option)
select — Seleccionar Opción (Select Dropdown Option)
action | Label: Seleccionar OpciónSelects an option from a <select> dropdown element by value, visible label, or index.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
selector | text | ✅ | — | Selector for the <select> element (e.g. select#country) |
value | text | ✅ | — | The option to select |
selectBy | select | — | value | Selection strategy: value (option value attribute), label (visible text), index |
hover — Hover (Mouse Over Element)
hover — Hover (Mouse Over Element)
action | Label: HoverMoves the mouse over an element, triggering mouseover and mouseenter events. Useful for revealing dropdown menus or tooltips.| Field | Type | Required | Description |
|---|---|---|---|
selector | text | ✅ | Target element selector (e.g. .menu-item) |
wait — Esperar (Wait for Time or Condition)
wait — Esperar (Wait for Time or Condition)
action | Label: EsperarPauses execution for a fixed time, until an element is visible or hidden, or until the network is idle.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
waitType | select | — | time | Strategy: time (fixed ms), selector (element visible), hidden (element hidden), networkidle |
value | text | ✅ | — | Milliseconds (for time) or a selector string (for element strategies) |
timeout | number | — | 30000 | Maximum wait time in milliseconds |
screenshot — Captura de Pantalla (Take Screenshot)
screenshot — Captura de Pantalla (Take Screenshot)
action | Label: Captura de PantallaCaptures a screenshot and saves it to disk. Can capture the full page or a specific element.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
name | text | ✅ | — | Output filename without extension (e.g. login-capture) |
fullPage | boolean | — | false | Capture the full scrollable page height |
selector | text | — | — | Restrict capture to this element (hidden when fullPage is true) |
dblclick — Doble Click (Double Click)
dblclick — Doble Click (Double Click)
action | Label: Doble ClickPerforms a double-click on an element. Supports mouse button selection and delay configuration.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
selector | text | ✅ | — | Target element selector |
button | select | — | left | Mouse button: left, right, middle |
delay | number | — | 0 | Milliseconds between the two clicks |
force | boolean | — | false | Skip actionability checks |
timeout | number | — | 30000 | Timeout in milliseconds |
clear — Limpiar Campo (Clear Input)
clear — Limpiar Campo (Clear Input)
action | Label: Limpiar CampoClears the contents of an input or textarea element.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
selector | text | ✅ | — | Target input selector (e.g. input#email) |
force | boolean | — | false | Skip actionability checks |
timeout | number | — | 30000 | Timeout in milliseconds |
blur — Quitar Foco (Remove Focus)
blur — Quitar Foco (Remove Focus)
action | Label: Quitar FocoRemoves focus from an element by dispatching a blur event. Useful for triggering validation that fires on blur.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
selector | text | ✅ | — | Target element selector |
timeout | number | — | 30000 | Timeout in milliseconds |
focus — Dar Foco (Give Focus)
focus — Dar Foco (Give Focus)
action | Label: Dar FocoFocuses an element by dispatching a focus event, without simulating any user input.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
selector | text | ✅ | — | Target element selector |
timeout | number | — | 30000 | Timeout in milliseconds |
press — Presionar Tecla (Press Key)
press — Presionar Tecla (Press Key)
action | Label: Presionar TeclaPresses a keyboard key or combination on a focused element. Choose from a preset list or supply a custom key string.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
selector | text | ✅ | — | Element to focus before pressing (e.g. input#search) |
key | select | — | Enter | Preset key: Enter, Tab, Escape, Backspace, Delete, Arrow keys, Home, End, PageUp/Down, Ctrl+A/C/V/Z/S, F1/F5/F12 |
customKey | text | — | — | Custom key combination overriding the preset (e.g. Shift+Control+a) |
delay | number | — | 0 | Delay in milliseconds |
timeout | number | — | 30000 | Timeout in milliseconds |
pressSequentially — Escribir Secuencialmente (Type Character by Character)
pressSequentially — Escribir Secuencialmente (Type Character by Character)
action | Label: Escribir SecuencialmenteTypes text one character at a time, simulating a real human typing. Each character fires its own keyboard events with a configurable inter-key delay.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
selector | text | ✅ | — | Target input selector |
text | text | ✅ | — | Text to type character by character |
delay | number | — | 50 | Milliseconds between each character |
timeout | number | — | 30000 | Timeout in milliseconds |
selectText — Seleccionar Texto (Select All Text)
selectText — Seleccionar Texto (Select All Text)
action | Label: Seleccionar TextoSelects all text inside an input or textarea element.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
selector | text | ✅ | — | Target input or textarea selector |
force | boolean | — | false | Skip actionability checks |
timeout | number | — | 30000 | Timeout in milliseconds |
setInputFiles — Subir Archivo (Upload File)
setInputFiles — Subir Archivo (Upload File)
action | Label: Subir ArchivoSets the value of a file input element by providing the path to the file on the server.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
selector | text | ✅ | — | Selector for the <input type="file"> element |
filePath | text | ✅ | — | Absolute path to the file to upload (e.g. /path/to/document.pdf) |
timeout | number | — | 30000 | Timeout in milliseconds |
tap — Tap Móvil (Mobile Tap)
tap — Tap Móvil (Mobile Tap)
action | Label: Tap (Móvil)Performs a touch tap on an element. Use this in flows that emulate mobile devices with hasTouch enabled on the Start node.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
selector | text | ✅ | — | Target element selector (e.g. button.submit) |
force | boolean | — | false | Skip actionability checks |
timeout | number | — | 30000 | Timeout in milliseconds |
dragTo — Arrastrar y Soltar (Drag and Drop)
dragTo — Arrastrar y Soltar (Drag and Drop)
action | Label: Arrastrar y SoltarDrags a source element and drops it onto a target element.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
sourceSelector | text | ✅ | — | Selector for the element to drag |
targetSelector | text | ✅ | — | Selector for the drop target |
force | boolean | — | false | Skip actionability checks |
timeout | number | — | 30000 | Timeout in milliseconds |
scrollIntoView — Hacer Scroll (Scroll Element Into View)
scrollIntoView — Hacer Scroll (Scroll Element Into View)
action | Label: Hacer ScrollScrolls the page until the target element becomes visible in the viewport.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
selector | text | ✅ | — | Selector for the element to scroll to |
timeout | number | — | 30000 | Timeout in milliseconds |
dispatchEvent — Disparar Evento (Dispatch DOM Event)
dispatchEvent — Disparar Evento (Dispatch DOM Event)
action | Label: Disparar EventoProgrammatically dispatches a DOM event on an element. Useful for triggering behavior that native Playwright interactions cannot reach.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
selector | text | ✅ | — | Target element selector |
eventType | select | — | click | Event to dispatch: click, dblclick, mousedown, mouseup, mouseover, mouseout, focus, blur, input, change, submit, keydown, keyup, keypress, dragstart, dragend, drop |
timeout | number | — | 30000 | Timeout in milliseconds |
waitFor — Esperar Elemento (Wait for Element State)
waitFor — Esperar Elemento (Wait for Element State)
action | Label: Esperar ElementoWaits until an element reaches a specific DOM state before the flow continues.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
selector | text | ✅ | — | Selector to watch |
state | select | — | visible | Expected state: visible, hidden, attached (in DOM), detached (removed from DOM) |
timeout | number | — | 30000 | Timeout in milliseconds |
getAttribute — Obtener Atributo (Get Element Attribute)
getAttribute — Obtener Atributo (Get Element Attribute)
action | Label: Obtener AtributoReads an attribute value from a DOM element and optionally stores it in a named variable for use in subsequent nodes.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
selector | text | ✅ | — | Target element selector (e.g. a#link) |
attribute | text | ✅ | — | Attribute name to read (e.g. href, class, data-id) |
variableName | text | — | — | Variable name to store the result in |
timeout | number | — | 30000 | Timeout in milliseconds |
inputValue — Obtener Valor de Input (Get Input Value)
inputValue — Obtener Valor de Input (Get Input Value)
action | Label: Obtener Valor de InputReads the current value of an input, textarea, or select element and optionally stores it in a variable.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
selector | text | ✅ | — | Target input selector (e.g. input#email) |
variableName | text | — | — | Variable name to store the result in |
timeout | number | — | 30000 | Timeout in milliseconds |
textContent — Obtener Texto (Get Text Content)
textContent — Obtener Texto (Get Text Content)
action | Label: Obtener TextoReads the inner text content of an element and optionally stores it in a variable.| Field | Type | Required | Default | Description |
|---|---|---|---|---|
selector | text | ✅ | — | Target element selector (e.g. span.message) |
variableName | text | — | — | Variable name to store the result in |
timeout | number | — | 30000 | Timeout in milliseconds |
Assertion Nodes
Assertion nodes verify your application’s state by wrapping Playwright’sexpect() API. A failing assertion marks the test as failed and halts the flow at that point.
assertVisible / assertHidden — Visibility Checks
assertVisible / assertHidden — Visibility Checks
assertAttached — DOM Presence Check
assertAttached — DOM Presence Check
toBeAttached) — Verifies that an element exists in the DOM, regardless of whether it is visible.| Field | Type | Default | Description |
|---|---|---|---|
selector | text | — | Element to check (e.g. #component) |
attached | select | true | true = in DOM, false = not in DOM |
timeout | number | 5000 | Timeout in milliseconds |
assertChecked — Checkbox State
assertChecked — Checkbox State
toBeChecked) — Verifies whether a checkbox or radio input is checked or unchecked.| Field | Type | Default | Description |
|---|---|---|---|
selector | text | — | Checkbox or radio selector |
checked | select | true | true = expects checked, false = expects unchecked |
timeout | number | 5000 | Timeout in milliseconds |
assertEnabled / assertDisabled — Interactive State
assertEnabled / assertDisabled — Interactive State
toBeEnabled) — Verifies that an interactive element (button, input, etc.) is not disabled.assertDisabled (toBeDisabled) — Verifies that an element has the disabled attribute or state.Both nodes share the same field structure:| Field | Type | Default | Description |
|---|---|---|---|
selector | text | — | Element to check (e.g. button#submit) |
timeout | number | 5000 | Timeout in milliseconds |
assertEditable — Edit State
assertEditable — Edit State
toBeEditable) — Verifies whether an input is editable (not read-only and not disabled).| Field | Type | Default | Description |
|---|---|---|---|
selector | text | — | Input or textarea selector |
editable | select | true | true = editable, false = not editable |
timeout | number | 5000 | Timeout in milliseconds |
assertEmpty — Empty Container
assertEmpty — Empty Container
toBeEmpty) — Verifies that an element has no child elements and no text content.| Field | Type | Default | Description |
|---|---|---|---|
selector | text | — | Container selector (e.g. .item-list) |
timeout | number | 5000 | Timeout in milliseconds |
assertFocused — Focus State
assertFocused — Focus State
toBeFocused) — Verifies that an element currently has keyboard focus.| Field | Type | Default | Description |
|---|---|---|---|
selector | text | — | Element to check (e.g. input#email) |
timeout | number | 5000 | Timeout in milliseconds |
assertInViewport — Viewport Visibility
assertInViewport — Viewport Visibility
toBeInViewport) — Verifies that an element is within the visible viewport area. An optional ratio sets the minimum fraction of the element that must be visible.| Field | Type | Default | Description |
|---|---|---|---|
selector | text | — | Element to check |
ratio | number | 0 | Minimum visible ratio from 0.0 to 1.0 |
timeout | number | 5000 | Timeout in milliseconds |
assertText — Text Content Check
assertText — Text Content Check
toHaveText / toContainText) — Verifies the text content of an element, with options for exact match, substring, or regular expression.| Field | Type | Default | Description |
|---|---|---|---|
selector | text | — | Element to read (e.g. h1.title) |
expectedText | text | — | The text to match against |
matchType | select | contains | exact (toHaveText), contains (toContainText), or regex |
ignoreCase | boolean | false | Case-insensitive comparison |
timeout | number | 5000 | Timeout in milliseconds |
assertAttribute — DOM Attribute Check
assertAttribute — DOM Attribute Check
toHaveAttribute) — Verifies the value of a DOM attribute on an element. If expectedValue is left empty, the assertion only checks that the attribute exists.| Field | Type | Default | Description |
|---|---|---|---|
selector | text | — | Target element selector (e.g. a#link) |
attribute | text | — | Attribute name to verify (e.g. href, class, data-id) |
expectedValue | text | — | Expected attribute value; leave empty to assert existence only |
timeout | number | 5000 | Timeout in milliseconds |
assertClass — CSS Class Check
assertClass — CSS Class Check
toHaveClass / toContainClass) — Verifies the CSS class or classes applied to an element. Use contains to check that a class is present among others, or exact to match the full class list.| Field | Type | Default | Description |
|---|---|---|---|
selector | text | — | Target element selector (e.g. div#card) |
expectedClass | text | — | One or more space-separated class names to verify (e.g. active highlighted) |
matchType | select | contains | exact (toHaveClass — full class list must match) or contains (toContainClass — class must be present) |
timeout | number | 5000 | Timeout in milliseconds |
assertCSS — CSS Property Check
assertCSS — CSS Property Check
toHaveCSS) — Verifies that a computed CSS property of an element has the expected value.| Field | Type | Default | Description |
|---|---|---|---|
selector | text | — | Target element (e.g. .button) |
cssProperty | text | — | CSS property name (e.g. background-color, display, opacity) |
expectedValue | text | — | Expected computed value (e.g. rgb(255, 0, 0), block, 1) |
timeout | number | 5000 | Timeout in milliseconds |
assertId — Element ID Check
assertId — Element ID Check
toHaveId) — Verifies that the id attribute of an element matches an expected value.| Field | Type | Default | Description |
|---|---|---|---|
selector | text | — | Element to inspect |
expectedId | text | — | Expected id attribute value (e.g. user-profile) |
timeout | number | 5000 | Timeout in milliseconds |
assertRole — ARIA Role Check
assertRole — ARIA Role Check
toHaveRole) — Verifies the ARIA role of an element. Supports the full set of WAI-ARIA roles including button, checkbox, dialog, link, navigation, textbox, grid, and many more.| Field | Type | Default | Description |
|---|---|---|---|
selector | text | — | Element to check |
expectedRole | select | button | Expected ARIA role (full list covers ~35 roles) |
timeout | number | 5000 | Timeout in milliseconds |
assertAccessibleName / assertAccessibleDescription — Accessibility Checks
assertAccessibleName / assertAccessibleDescription — Accessibility Checks
toHaveAccessibleName) — Verifies the accessible name of an element as computed by the accessibility tree.assertAccessibleDescription (toHaveAccessibleDescription) — Verifies the accessible description of an element.Both follow the same structure:| Field | Type | Default | Description |
|---|---|---|---|
selector | text | — | Element to inspect |
expectedName / expectedDescription | text | — | Expected accessible name or description string |
timeout | number | 5000 | Timeout in milliseconds |
assertUrl / assertTitle — Page-Level Checks
assertUrl / assertTitle — Page-Level Checks
toHaveURL) — Verifies the current page URL.| Field | Type | Default | Description |
|---|---|---|---|
expectedUrl | text | — | URL to match (e.g. /dashboard or https://...) |
matchType | select | contains | exact, contains, or regex |
timeout | number | 5000 | Timeout in milliseconds |
assertTitle (
toHaveTitle) — Verifies the <title> of the current page.| Field | Type | Default | Description |
|---|---|---|---|
expectedTitle | text | — | Title to match |
matchType | select | contains | exact, contains, or regex |
timeout | number | 5000 | Timeout in milliseconds |
assertValue / assertValues — Input Value Checks
assertValue / assertValues — Input Value Checks
toHaveValue) — Verifies the current value of an input, textarea, or select element.| Field | Type | Default | Description |
|---|---|---|---|
selector | text | — | Input to inspect |
expectedValue | text | — | Expected value string |
timeout | number | 5000 | Timeout in milliseconds |
assertValues (
toHaveValues) — Verifies the selected values of a multi-select element.| Field | Type | Default | Description |
|---|---|---|---|
selector | text | — | <select multiple> selector |
expectedValues | text | — | Comma-separated expected values (e.g. red,blue,green) |
timeout | number | 5000 | Timeout in milliseconds |
assertCount — Element Count Check
assertCount — Element Count Check
toHaveCount) — Verifies the number of elements matching a selector, with flexible comparison operators.| Field | Type | Default | Description |
|---|---|---|---|
selector | text | — | Selector to count (e.g. .list-item) |
expectedCount | number | — | The count to compare against |
comparison | select | equal | equal, greaterThan, lessThan, greaterOrEqual, lessOrEqual |
timeout | number | 5000 | Timeout in milliseconds |
assertScreenshot — Visual Regression Check
assertScreenshot — Visual Regression Check
toHaveScreenshot) — Captures a screenshot and compares it pixel-by-pixel against a stored baseline image. Fails if the difference exceeds the configured threshold.| Field | Type | Default | Description |
|---|---|---|---|
selector | text | — | Element to capture (leave empty for full page) |
screenshotName | text | — | Name for the baseline image (e.g. login-form) |
maxDiffPixels | number | 0 | Maximum number of differing pixels allowed |
maxDiffPixelRatio | number | 0 | Maximum ratio of differing pixels (0.0–1.0) |
timeout | number | 5000 | Timeout in milliseconds |
assertScreenshot creates the baseline image automatically. Subsequent runs compare against that baseline. Delete the baseline file to regenerate it after intentional UI changes.Control Flow Nodes
Control flow nodes add branching and repetition to your test graph. They let you handle dynamic states and data-driven scenarios without writing code.if — Condición (Conditional Branch)
if — Condición (Conditional Branch)
control | Label: Condición (If)Evaluates a condition and routes execution down one of two output edges — the true branch or the false branch. This lets your flow adapt to variable page states such as the presence of a cookie banner or an optional modal.| Field | Type | Default | Description |
|---|---|---|---|
conditionType | select | elementExists | Condition to evaluate: elementExists, elementVisible, textContains, urlContains |
selector | text | — | Element selector or text/URL value to evaluate |
loop — Bucle (Repeat Actions)
loop — Bucle (Repeat Actions)
control | Label: Bucle (Loop)Repeats a connected sequence of nodes a fixed number of times, once per matched element, or once per item in a data array.| Field | Type | Default | Description |
|---|---|---|---|
loopType | select | count | Loop strategy: count (fixed iterations), elements (one pass per matching DOM element), data (one pass per data row) |
value | text | — | Number of iterations (for count) or a CSS selector (for elements) |
code — Código JavaScript (Custom Script)
code — Código JavaScript (Custom Script)
control | Label: Código JavaScriptExecutes arbitrary JavaScript inside the Playwright test context. The script has access to the page, context, and browser objects, enabling anything Playwright can do.| Field | Type | Default | Description |
|---|---|---|---|
code | textarea | — | JavaScript code to execute. Variables page, context, and browser are available. |
description | text | — | Human-readable summary of what this code does |
awaitResult | boolean | true | Whether to await the result of the code expression |
Hook Nodes
Hook nodes mirror Playwright’s test lifecycle and let you define shared setup and teardown logic that runs before or after individual tests or entire test suites.beforeAll / afterAll — Suite-Level Hooks
beforeAll / afterAll — Suite-Level Hooks
beforeAll.Both nodes share the same fields:| Field | Type | Description |
|---|---|---|
hookName | text | Descriptive name for the hook (e.g. Initial Setup) |
description | textarea | What this hook does |
beforeEach / afterEach — Per-Test Hooks
beforeEach / afterEach — Per-Test Hooks
| Field | Type | Description |
|---|---|---|
hookName | text | Descriptive name (e.g. Login before each test) |
description | textarea | What this hook does |