What does a TestStep object represent in Playwright?


Understanding Test Steps in Playwright

A test step is a single action or assertion in a test run. It's a fundamental unit that helps break down complex tests into manageable tasks.

In Playwright, a TestStep object represents a test step. It contains details like the step's title, category, duration, error (if any), location in source code (if specified), parent step (if any), start time, and child steps (if any).

Here's how you can create a new step in your tests using the test.step() API:

import { test } from '@playwright/test';

test('my test', async ({ page }) => {
  await test.step('Go to ray.run', async () => {
    await page.goto('https://ray.run/');

Test steps offer several benefits. They allow you to split long tests into smaller ones, making it easier to understand and debug. They also provide detailed information about each part of the test run. This information can be exposed through the reporters API, helping you pinpoint exactly where things went wrong if there was an error.

So, by using test steps, you can better understand your codebase and easily identify issues when they arise. For more tips on writing efficient Playwright test scripts, check out this blog post.


Thank you!
Was this helpful?
Still have questions?

If you still have questions, please ask a question and I will try to answer it.

Related Questions

AboutQuestionsDiscord ForumBrowser ExtensionTagsQA Jobs

Rayrun is a community for QA engineers. I am constantly looking for new ways to add value to people learning Playwright and other browser automation frameworks. If you have feedback, email luc@ray.run.