TestStep
Represents a step in a TestResult.
Methods
titlePath
Returns a list of step titles from the root step down to this step.
Usage
testStep.titlePath();
Returns
Properties
annotations
The list of annotations applicable to the current test step.
Usage
testStep.annotations
Type
attachments
The list of files or buffers attached in the step execution through testInfo.attach().
Usage
testStep.attachments
Type
-
Array<Object>
-
namestringAttachment name.
-
contentTypestringContent type of this attachment to properly present in the report, for example
'application/json'or'image/png'. -
pathstring (optional)Optional path on the filesystem to the attached file.
-
bodyBuffer (optional)Optional attachment body used instead of a file.
-
category
Step category to differentiate steps with different origin and verbosity. Built-in categories are:
-
expectfor expect calls -
fixturefor fixtures setup and teardown -
hookfor hooks initialization and teardown -
pw:apifor Playwright API calls. -
test.stepfor test.step API calls. -
test.attachfor testInfo.attach API calls.
Usage
testStep.category
Type
duration
Running time in milliseconds.
Usage
testStep.duration
Type
error
Error thrown during the step execution, if any.
Usage
testStep.error
Type
location
Optional location in the source where the step is defined.
Usage
testStep.location
Type
params
Step-dependent parameters, when available. For example, steps produced by the Playwright API calls contain the target locator and the call arguments such as url, while test.step() steps contain the parameters passed by the test author.
// { locator: 'getByRole(\'button\')' }
await page.getByRole('button').click();
// { url: 'https://example.com' }
await page.goto('https://example.com');
// { locator: 'getByLabel(\'Password\')', value: 'secret' }
await page.getByLabel('Password').fill('secret');
// { orderId: 42 }
await test.step('checkout', async () => {
// ...
}, { params: { orderId: 42 } }); To keep the reports small, Playwright API calls only report a curated set of arguments per call, and long string values are truncated. Unbounded arguments such as the page content, evaluated expressions or request bodies are never reported.
Usage
testStep.params
Type
parent
Parent step, if any.
Usage
testStep.parent
Type
startTime
Start time of this particular test step.
Usage
testStep.startTime
Type
steps
List of steps inside this step.
Usage
testStep.steps
Type
subtitle
User-friendly test step subtitle that complements the title, when available. For Playwright API calls, it is the target locator or the navigation url. For example, a Click step has the clicked locator as a subtitle. User interfaces typically render the subtitle next to the title or on a separate line.
// title `Click`, subtitle `getByRole('button')`
await page.getByRole('button').click();
// title `Navigate`, subtitle `example.com/index.html`
await page.goto('https://example.com/index.html'); Usage
testStep.subtitle
Type
title
User-friendly test step title, for example Click or Navigate.
Usage
testStep.title
Type
© 2026 Microsoft
Licensed under the Apache License, Version 2.0.
https://playwright.dev/docs/api/class-teststep