First, choose a tool that fits your needs. @playwright/test is a great choice as it supports all modern rendering engines and allows testing on different operating systems.
Start by installing Playwright. If you're using VS Code, you can find the extension in the marketplace. Once installed, open the command panel and type "Install Playwright". Select "Test: Install Playwright" and choose your preferred browsers.
// Command to install Playwright
npm i -D @playwright/test
Next, generate a test to see Playwright in action. Remember, debugging is crucial in automation testing. It helps you identify issues within your tests.
// Sample test
import { test } from '@playwright/test';
test('basic test', async ({ page }) => {
await page.goto('https://ray.run/');
const title = await page.title();
expect(title).toBe('Ray');
});
Use locators for automation testing. They come with auto-waiting and retry-ability features, ensuring elements are visible and enabled before any actions.
// Using locators
const submitButton = page.locator('text="Submit"');
await submitButton.click();
When writing end-to-end tests, find elements on the webpage using chaining filters. Prioritize user-facing attributes for resilient tests. Avoid testing third-party dependencies as they can lead to time-consuming failures. Instead, use network APIs for guaranteed responses.
// Chaining filters
const element = page.locator('.class').first();
For more tips on efficient test writing, check out this blog post.
Remember, consistency is key in automation testing. Make sure data control is maintained across different operating systems and versions used for visual regression tests. Happy testing!
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].