30 lines
1.1 KiB
JavaScript
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);
|
|
});
|