학습 정리(공식문서,강의)24 7. Playwright 다운로드 테스트 다운로드 파일이 정상적으로 다운받아지를 테스트하고 싶은 경우가 있다. 플레이라이트에서는 다운로드에 대한 테스트 도한 제공해준다. 🛒 waitForEvent 사용 page.waitForEvent('download')를 통해서 다운로드가 발생하는지를 캐치할 수 있다. 다운로드 test('test', async ({ page }) => { await page.goto('http://127.0.0.1:5501/index.html'); const downloadPromise = page.waitForEvent('download'); await page.getByText('다운로드').click(); const download = await downloadPromise; expect(do.. 2025. 2. 23. 6. Playwright Fixture 🎈 픽스처 소개Playwright는 일반적인 테스트 픽스처의 개념을 기반으로 하고 있다. 픽스처는 각 테스트의 환경을 설정하는데 사용되고, 테스트에 필요한 모든 것들을 제공한다. 테스트에 필요하지 않은 것에 대해서는 제공하지 않는다. 또한 픽스처는 테스트간에 격리되기 때문에 테스트내에서 픽스처의 수정이 다른 테스트에 영향을 주는 부분은 고민하지 않아도 된다. 픽스처를 사용하면 일반적인 설정대신 테스트의 의미에 따라 그룹화할 수 있다.✨ Test Fixture는 테스트를 수행하기 전에 필요한 상태나 환경을 설정하는 것을 의미한다. 이를 통해 일관된 테스트를 할 수 있도록 해준다. 이 개념을 숙지하자!! 🛒 내장 픽스처 Fixture Type Description pagePage테스트 실행을 위한 .. 2025. 1. 18. 5. Playwright Locator 로케이터는 페이지에서 요소를 찾는 방법을 제공한다. Playwright에서는 다양한 로케이터를 제공한다. page.getByRole : 접근성 속성을 통한 로케이터page.getByText : 텍스트 내용을 통한 로케이터page.getByLabel : 라벨의 텍스트 기반으로 연결된 폼의 대상을 찾는 로케이터page.getByPlaceholder : input의 플레이스홀더를 통한 로케이터page.getByAltText : 보통 이미지에서 대체 테스트를 통한 로케이터page.getByTitle : 타이틀 속성을 통한 로케이터page.getByTestId : data-testid 속성에 기반한 로케이터await page.getByLabel('이름').fill('나의 이름은');await page.getByR.. 2025. 1. 15. 4. Playwright Assertion Playwright 에서는 다른 테스트 라이브러리와 마찬가지로 expect 함수를 제공한다. 해당 함수에 현재값을 전달하고 기대하는 값에 대한 Matcher를 설정해서 테스트 수행 결과와 기대값을 비교 후 검증이 가능하다. Playwright 에서는 다른 테스트에서도 자주 사용되는 Matcher들을 제공한다.toEqualtoBetoBeTruthyimport { test, expect } from '@playwright/test'test('1 + 1은 2이다.', () => { expect(1 + 1).toBe(2);}); Playwright에는 예상 조건이 충족될 때까지 기다리는 웹 전용 비동기 Matcher 또한 제공한다.test('타이틀은 어서오세요이다.', async ({ page }) => { .. 2025. 1. 10. 3. Playwright Action Playwright에서는 사용자가 HTML로 상호작용하는 많은 부분에 대한 기능을 제공한다. 예로 input을 통해 입력하거나, 마우스 클릭, 파일 업로드 기능까지 지원한다. 🎈 Text inputinput에 텍스트를 입력하는 가장 쉬운 방법은 locator.fill() 을 사용하는 것이다. input 요소에 포커스하고 입력된 텍스트로 input 이벤트를 트리거한다. 아래의 3 종류의 엘리먼트에서 사용 가능하다.inputtextarea[contenteditable]await page.getByRole('textbox').fill('안녕하세요.');await page.getByLabel('Local time').fill('2020-03-02T05:15'); ✨ fill 함수의 경우 기존의 컨텐츠를 모두 .. 2025. 1. 7. 2. Playwright 명령어 🎈 CodegenPlaywright에서는 codegen 명령어로 실행된 프로그램을 통해, 테스트하고자하는 웹사이트에서 간단한 UI 동작으로 자동으로 테스트를 생성해준다.// codegen 실행npx playwright codegen// 원하는 주소로 바로 이동 후 codegen 실행npx playwright codegen 주소 명령어 실행 시 아래와 같이 브라우저와 Playwright Inspector가 실행이 되는 것을 확인할 수 있다. 브라우저의 주소창에서 테스트하려는 주소로 페이지를 이동하면 된다. 👓 Inspector 알아보기Record : 레코드가 활성화되어 있다면 브라우저에서 상호작용 할 수 있다. 마우스를 엘리먼트에 가져다대면 셀렉터를 확인할 수 있고, 선택하면 Inspector에 선.. 2025. 1. 2. 이전 1 2 3 4 다음