puppeteer を使用する
グローバルセットアップ/ティアダウン とAsync テスト環境 APIを使うことで、Jest は puppeteer を簡単に使用できます。
note
page.$eval
, page.$$eval
または page.evaluate
をテストで使用している場合、Jestのスコープ外でパスする関数が実行されているため、現時点ではPuppeteerを使用したテストがいつのカバレッジの生成はできません。 Check out issue #7962 on GitHub for a workaround.
jest-puppeteer プリセットを使用する
Jest Puppeteer は、Puppeteer を使ってテストを実行するために必要な、すべての設定を提供します。
- First, install
jest-puppeteer
- npm
- Yarn
- pnpm
npm install --save-dev jest-puppeteer
yarn add --dev jest-puppeteer
pnpm add --save-dev jest-puppeteer
- Specify preset in your Jest configuration:
{
"preset": "jest-puppeteer"
}
- グローバルセットアップで、puppeteer を起動して、websocket のエンドポイントを指定する
describe('Google', () => {
beforeAll(async () => {
await page.goto('https://google.com');
});
it('should be titled "Google"', async () => {
await expect(page.title()).resolves.toMatch('Google');
});
});
依存関係をロードする必要はありません。 Puppeteer の page
と browser
クラスは自動的に公開されます。
詳しくはドキュメントを参照してください。