Skip to content

Latest commit

 

History

History
59 lines (43 loc) · 1.64 KB

puppeteer.md

File metadata and controls

59 lines (43 loc) · 1.64 KB

역자주

이 문서는 puppeteer.md의 한국어 번역입니다. 이곳에서 AVA의 master 브랜치와 이 문서의 차이를 확인할 수 있습니다. (만약 차이가 없다면 문서가 최신 버전임을 의미합니다)


Puppeteer를 사용해서 웹앱 테스트하기

의존성(dependencies) 설치

  • Puppeteer: npm install --save-dev puppeteer

설정하기

첫 번째 단계는 환경을 구성할 helper를 설정하는 것입니다.

./test/_withPage.js

import puppeteer from 'puppeteer';

module.exports = async (t, run) => {
	const browser = await puppeteer.launch();
	const page = await browser.newPage();
	try {
		await run(t, page);
	} finally {
		await page.close();
		await browser.close();
	}
}

사용 예제

./test/main.js

import test from 'ava';
import withPage from './_withPage';

const url = 'https://google.com';

test('page title should contain "Google"', withPage, async (t, page) => {
	await page.goto(url);
	t.true((await page.title()).includes('Google'));
});

test('page should contain an element with `#hplogo` selector', withPage, async (t, page) => {
	await page.goto(url);
	t.not(await page.$('#hplogo'), null);
});

test('search form should match the snapshot', withPage, async (t, page) => {
	await page.goto(url);
	const innerHTML = await page.evaluate(form => form.innerHTML, await page.$('#searchform'));
	t.snapshot(innerHTML);
});