Playwright는 Microsoft에서 개발한 E2E(end-to-end) 테스트 자동화 프레임워크로, 다양한 브라우저(Chromium, Firefox, WebKit)를 지원하며 Node.js, Python, .NET, Java에서 사용할 수 있습니다.
Node.js 환경에서 Playwright를 설치하려면 다음 명령어를 실행합니다.
npm install -D playwright
또는 Playwright와 함께 브라우저도 설치하려면:
npx playwright install
const { chromium } = require('playwright');
(async () => {
const browser = await chromium.launch({ headless: false });
const context = await browser.newContext();
const page = await context.newPage();
await page.goto('<https://example.com>');
await page.screenshot({ path: 'screenshot.png' });
await browser.close();
})();
const browser = await chromium.launch(); // 브라우저 실행
await browser.close(); // 브라우저 종료
const context = await browser.newContext(); // 새로운 브라우저 컨텍스트 생성
await page.goto('<https://example.com>'); // 페이지 이동
await page.reload(); // 페이지 새로고침
await page.waitForTimeout(2000); // 2초 대기
await page.click('button#submit'); // 버튼 클릭
await page.fill('input[name="email"]', '[email protected]'); // 입력 필드 채우기
await page.selectOption('select#dropdown', 'optionValue'); // 드롭다운 옵션 선택
await page.check('input[type="checkbox"]'); // 체크박스 체크
await page.uncheck('input[type="checkbox"]'); // 체크 해제
const text = await page.textContent('h1'); // 텍스트 가져오기
const isVisible = await page.isVisible('#modal'); // 요소 표시 여부 확인
const isChecked = await page.isChecked('input[type="checkbox"]'); // 체크 여부 확인
await page.route('**/*', route => route.continue()); // 요청 가로채기
page.on('request', request => console.log('Request:', request.url())); // 요청 로깅
page.on('response', response => console.log('Response:', response.status())); // 응답 로깅