Skip to content

Latest commit

 

History

History
60 lines (44 loc) · 1.85 KB

puppeteer.md

File metadata and controls

60 lines (44 loc) · 1.85 KB

Note du traducteur

C'est la traduction du fichier puppeteer.md. Voici un lien vers les différences avec le master de AVA (Si en cliquant sur le lien, vous ne trouvez pas le fichier puppeteer.md parmi les fichiers modifiés, vous pouvez donc en déduire que la traduction est à jour).


Test d'applications Web à l'aide de Puppeteer

Traductions : English

Les dépendances

  • Puppeteer : npm install --save-dev puppeteer

Configuration

La première étape consiste à configurer un helper pour configurer l'environnement :

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

Exemple d'utilisation

./test/main.js

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

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

test('le titre de la page doit contenir "Google"', withPage, async (t, page) => {
	await page.goto(url);
	t.true((await page.title()).includes('Google'));
});

test('la page doit contenir un élément avec le sélecteur `#hplogo`', withPage, async (t, page) => {
	await page.goto(url);
	t.not(await page.$('#hplogo'), null);
});

test('le formulaire de recherche doit correspondre au snapshot', withPage, async (t, page) => {
	await page.goto(url);
	const innerHTML = await page.evaluate(form => form.innerHTML, await page.$('#searchform'));
	t.snapshot(innerHTML);
});