yarn playwright test stock.spec.ts
await page.goto('<http://playwright.dev/>');
// Create a locator
const getStarted = page.getByRole('link', { name : 'Get started' });
// Click it
await getStarted.click();
Action | Description |
---|---|
locator.check() | Check the input checkbox |
locator.click() | Click the element |
locator.uncheck() | Uncheck the input checkbox |
locator.hover() | Hover mouse over the element |
locator.fill() | Fill the form field, input text |
locator.focus() | Focus the element |
locator.press() | Press single key |
locator.setInputFiles() | Pick files to upload |
locator.selectOption() | Select option in the drop down |
// 1. 기본적인 locator 사용법
test('locator 예제', async ({ page }) => {
// text로 찾기
page.locator('text=로그인');
// CSS 선택자로 찾기
page.locator('.login-button');
page.locator('#username');
// role로 찾기 (접근성 관련)
page.locator('role=button');
// XPath로 찾기
page.locator('xpath=//button');
});
<aside> 💡
Assertions ? 예상하는 결과가 실제로 맞는지 확인하는 검증문
</aside>
// Playwright 테스트 예제
test('로그인 페이지 테스트', async ({ page }) => {
await page.goto('<https://example.com/login>');
// assertions 예시들:
// 1. 제목이 "로그인"이어야 한다
await expect(page.locator('h1')).toHaveText('로그인');
// 2. 로그인 버튼이 페이지에 존재해야 한다
await expect(page.locator('button[type="submit"]')).toBeVisible();
// 3. 이메일 입력란이 비어있어야 한다
await expect(page.locator('input[type="email"]')).toBeEmpty();
});