Automation/Playwright

--grep @smoke

c29130811 2024. 8. 25. 13:25
import { test, expect, Page } from '@playwright/test';

test.describe('Login Page', () => {

  test('이메일 형태 미입력', async ({ page }: { page: Page }) => {

    await page.goto('/', { timeout: 120000 });
    await page.getByPlaceholder('입력').fill('abcd');
    await page.locator("[type=submit]").click();

    // 로그인 에러 메시지 검증
    await expect(page.getByText('이메일 형식을 확인해주세요.')).toBeVisible();

  });


  test('존재하지 않는 이메일', async ({ page }: { page: Page }) => {

    const unregistered = 'playwright@microsoft.com'

    await page.goto('/', { waitUntil: 'networkidle', timeout: 120000 });
    await page.getByPlaceholder(PAGE_TEXT.PLACEHOLDER).fill(unregistered);
    await page.locator("[type=submit]").click();

    // 로그인 에러 메시지 검증
    await expect(page.getByRole('heading', { name: '로그인 에러' })).toBeVisible();
    await expect(page.getByText('존재하지 않는 계정입니다.')).toBeVisible();

  });

  test('유효한 사용자 로그인 시도 @smoke', async ({ page }: { page: Page }) => {

    const registered = 'testAccount@test.com'

    await page.goto('/', { waitUntil: 'networkidle', timeout: 120000 });
    await page.getByPlaceholder(PAGE_TEXT.PLACEHOLDER).fill(registered);
    await page.locator('[type=submit]').click();

    await expect(page).toHaveURL('/dashboard');

  });

})

 

test 설명에 @smoke 등 filter 할만한 문구를 넣은 후에

npx playwright test --grep @smoke

 

를 실행하면 @smoke로 되어있는것만 실행한다. 

위에 대로라면 유효한 사용자 로그인 시도만 하겠지? 전체 테스트에서 regression 또는 간단하게 smoke 형태로 지정해서 하면 좋을 듯.

728x90

'Automation > Playwright' 카테고리의 다른 글

toHaveScreenshot  (0) 2024.08.01
Fixtures  (2) 2024.07.24
Playwright - Page Object Model  (0) 2024.06.29
Playwright  (0) 2024.06.25