JESTで「Protocol error (Page.captureScreenshot): Target closed.」のエラーが発生する

JESTで「Protocol error (Page.captureScreenshot): Target closed.」のエラーが発生する

e2eテストで表題のエラーに悩まされている。

スクリーンショットを撮ろうとした際、ページがクローズされているか、応答が返って来ないため、エラーを返している模様。

テストケースを分けて少しずつ実行すると、正常に終了するので、実行環境やネットワーク状況により発生しているのだろう。

はっきりと原因がわからず、悩ましいが、テストケースを分割して実行することにする。

エラーメッセージ

node:internal/process/promises:225
          triggerUncaughtException(err, true /* fromPromise */);
          ^

Error: Protocol error (Page.captureScreenshot): Target closed.
    at /app/tests/node_modules/puppeteer/lib/Connection.js:183:56
    at new Promise (<anonymous>)
    at CDPSession.send (/app/tests/node_modules/puppeteer/lib/Connection.js:182:12)
    at Page._screenshotTask (/app/tests/node_modules/puppeteer/lib/Page.js:948:39)
  -- ASYNC --
    at Page.screenshot (/app/tests/node_modules/puppeteer/lib/helper.js:111:15)
    at Common.afterSnapshot (/app/tests/utils/snapshot.js:40:37)
    at Object.<anonymous> (/app/tests/utils/injection.js:5:22)
    at Object.asyncJestLifecycle (/app/tests/node_modules/jest-jasmine2/build/jasmineAsyncInstall.js:53:37)
    at /app/tests/node_modules/jest-jasmine2/build/queueRunner.js:47:12
    at new Promise (<anonymous>)
    at mapper (/app/tests/node_modules/jest-jasmine2/build/queueRunner.js:30:19)
    at /app/tests/node_modules/jest-jasmine2/build/queueRunner.js:77:41
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:93:5) {
  message: 'Caught error after test environment was torn down\n' +
    '\n' +
    'Protocol error (Page.captureScreenshot): Target closed.'
}

Web技術カテゴリの最新記事