Sure, @playwright/test is not just for testing, it's a powerful tool for automating tasks across different browsers. It supports all modern browsers, including Chrome, Edge, Safari, and Firefox.
One of the cool things about Playwright is its auto-wait APIs. These automatically wait for elements to be ready before interacting with them, making your automation tasks more reliable and easier to write.
import { test } from '@playwright/test';
test('auto-wait example', async ({ page }) => {
await page.goto('https://ray.run/');
const title = await page.title();
console.log(title);
});
Playwright also eliminates the need for sleep timeouts by receiving browser signals such as network requests, page navigations, and page load events. This reduces flakiness in your tasks.
Another great feature is its powerful network control. You can stub and mock network requests, allowing you to simulate different network conditions or responses.
import { test } from '@playwright/test';
test('network interception example', async ({ page }) => {
await page.route('https://ray.run/*', route => {
route.fulfill({
status: 200,
contentType: 'text/plain',
body: 'Hello, world!'
});
});
await page.goto('https://ray.run/');
});
Playwright can work with multiple domains, pages, and frames, and supports both headless and headed modes for all supported browsers on all platforms. So, whether you're automating complex scenarios or just need a versatile tool for various tasks, Playwright has got you covered.
If you still have questions, please ask a question and I will try to answer it.
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 [email protected].