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.'
}