Rayrun

What are some best practices for error handling and notification in Playwright/test?

Answer

Catching Errors and Notifying Teams with Playwright

Playwright allows you to catch errors at different stages of your test scenario. You can use various assertion methods to validate your application's expected behavior. For example:

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

test('Check element visibility', async ({ page }) => {
  await page.goto('https://ray.run');
  const element = await page.$('#elementId');
  await expect(element).toBeVisible();
});

When an assertion fails, Playwright throws an error with details about the failure. You can view these error messages in VS Code, the terminal, the HTML report generated by Playwright, or the trace viewer.

Playwright also supports soft assertions, which don't stop the test execution when failed. Instead, they compile and display a list of failed assertions once the test has finished running.

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

test('Soft assertions', async ({ page }) => {
  await page.goto('https://ray.run');
  const element = await page.$('#elementId');
  await expect(element).toBeVisible().catch(() => {});
});

To notify teams about specific failures or errors, you can use Playwright's reporting mechanisms or integrate with external tools. Playwright generates HTML reports that can be shared with teams. You can also configure custom reporters within your testing framework to send notifications via email or other channels.

Playwright integrates with CI/CD platforms like Jenkins, CircleCI, or GitHub Actions. This allows you to trigger test runs on every code change and send notifications to the corresponding team whenever a test fails. For more tips on 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.

TwitterGitHubLinkedIn
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.