Fail release QA on relevant warnings
This commit is contained in:
@@ -6,6 +6,7 @@ const targetUrl = withDebugParam(process.env.RELEASE_QA_URL ?? 'http://127.0.0.1
|
|||||||
const screenshotDir = 'dist';
|
const screenshotDir = 'dist';
|
||||||
const expectedTitle = '\uC0BC\uAD6D\uC9C0: \uC138 \uD615\uC81C\uC758 \uB9F9\uC138';
|
const expectedTitle = '\uC0BC\uAD6D\uC9C0: \uC138 \uD615\uC81C\uC758 \uB9F9\uC138';
|
||||||
const firstBattleUnlockLabel = '\uD669\uAC74 \uC794\uB2F9 \uCD94\uACA9 \uAC1C\uBC29';
|
const firstBattleUnlockLabel = '\uD669\uAC74 \uC794\uB2F9 \uCD94\uACA9 \uAC1C\uBC29';
|
||||||
|
const relevantLogPattern = /asset|audio|cannot|failed|map|missing|portrait|sprite|story|texture|unit/i;
|
||||||
|
|
||||||
let serverProcess;
|
let serverProcess;
|
||||||
let browser;
|
let browser;
|
||||||
@@ -319,9 +320,11 @@ try {
|
|||||||
`Expected title continue to reopen ending: ${JSON.stringify(endingContinueState)}`
|
`Expected title continue to reopen ending: ${JSON.stringify(endingContinueState)}`
|
||||||
);
|
);
|
||||||
|
|
||||||
const errors = consoleMessages.filter((message) => message.type === 'error');
|
const relevantLogs = consoleMessages.filter(
|
||||||
|
(message) => message.type === 'error' || (isWarning(message.type) && relevantLogPattern.test(message.text))
|
||||||
|
);
|
||||||
const blockingRequestFailures = requestFailures.filter((request) => request.failure !== 'net::ERR_ABORTED');
|
const blockingRequestFailures = requestFailures.filter((request) => request.failure !== 'net::ERR_ABORTED');
|
||||||
assert(errors.length === 0, `Unexpected browser console errors: ${JSON.stringify(errors)}`);
|
assert(relevantLogs.length === 0, `Unexpected browser console issues: ${JSON.stringify(relevantLogs)}`);
|
||||||
assert(pageErrors.length === 0, `Unexpected browser runtime errors: ${JSON.stringify(pageErrors)}`);
|
assert(pageErrors.length === 0, `Unexpected browser runtime errors: ${JSON.stringify(pageErrors)}`);
|
||||||
assert(blockingRequestFailures.length === 0, `Unexpected browser request failures: ${JSON.stringify(blockingRequestFailures)}`);
|
assert(blockingRequestFailures.length === 0, `Unexpected browser request failures: ${JSON.stringify(blockingRequestFailures)}`);
|
||||||
|
|
||||||
@@ -340,6 +343,10 @@ function withDebugParam(url) {
|
|||||||
return parsed.toString();
|
return parsed.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function isWarning(type) {
|
||||||
|
return type === 'warning' || type === 'warn';
|
||||||
|
}
|
||||||
|
|
||||||
async function waitForTitle(page) {
|
async function waitForTitle(page) {
|
||||||
await page.waitForFunction(() => document.querySelector('canvas') !== null, undefined, { timeout: 90000 });
|
await page.waitForFunction(() => document.querySelector('canvas') !== null, undefined, { timeout: 90000 });
|
||||||
await page.waitForFunction(() => window.__HEROS_DEBUG__ !== undefined, undefined, { timeout: 90000 });
|
await page.waitForFunction(() => window.__HEROS_DEBUG__ !== undefined, undefined, { timeout: 90000 });
|
||||||
|
|||||||
Reference in New Issue
Block a user