Files
go_bt/tests/screenshot_closed_page.test.js
T

30 lines
1.1 KiB
JavaScript

'use strict';
const assert = require('assert');
const { saveErrorScreenshot, saveCheckpointScreenshot, _private } = require('../src/utils/screenshot');
(async () => {
let waitCalls = 0;
let screenshotCalls = 0;
const closedPage = {
isClosed: () => true,
waitForTimeout: async () => { waitCalls++; },
screenshot: async () => { screenshotCalls++; },
};
assert.strictEqual(await saveErrorScreenshot(closedPage, 'closed@example.com', 'unit'), null);
assert.strictEqual(await saveCheckpointScreenshot(closedPage, 'closed@example.com', 'unit'), null);
assert.strictEqual(waitCalls, 0, '已关闭页面不能继续等待');
assert.strictEqual(screenshotCalls, 0, '已关闭页面不能继续截图');
assert.strictEqual(
_private.isTargetClosedError(new Error('page.waitForTimeout: Target page, context or browser has been closed')),
true,
);
assert.strictEqual(_private.isTargetClosedError(new Error('disk full')), false);
console.log('screenshot_closed_page.test.js: PASS');
})().catch(error => {
console.error(error);
process.exit(1);
});