playwright 기본 사용 방법

코드 실행

 yarn playwright test stock.spec.ts

Installation | Playwright

Action

Navigation

await page.goto('<http://playwright.dev/>');

Page | Playwright

Interactions

// 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

locator

// 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');
});

Assertions

<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();
});