UNPKG

e2ed

Version:

E2E testing framework over Playwright

60 lines (47 loc) 1.85 kB
/* eslint-disable @typescript-eslint/no-magic-numbers, no-console */ import {test} from 'autotests'; import {E2edReportExample} from 'autotests/pageObjects/pages'; import {createClientFunction, expect} from 'e2ed'; import { getBrowserConsoleMessages, getBrowserJsErrors, navigateToPage, waitForInterfaceStabilization, } from 'e2ed/actions'; test('correctly read data from browser', {meta: {testId: '14'}}, async () => { await navigateToPage(E2edReportExample); await createClientFunction(() => { console.error('error'); console.info('info'); console.log('log'); console.warn('warning'); setTimeout(() => { throw new Error('foo'); }, 100); })(); const consoleMessages = getBrowserConsoleMessages(); const columnNumber = 12; const url = ''; const consoleMessagesWithoutDate = consoleMessages.map( ({dateTimeInIso: _, ...messageWithoutDate}) => messageWithoutDate, ); await expect(consoleMessagesWithoutDate, 'getBrowserConsoleMessages read all of messages').eql([ {args: ['error'], location: {columnNumber, lineNumber: 3, url}, text: 'error', type: 'error'}, {args: ['info'], location: {columnNumber, lineNumber: 4, url}, text: 'info', type: 'info'}, {args: ['log'], location: {columnNumber, lineNumber: 5, url}, text: 'log', type: 'log'}, { args: ['warning'], location: {columnNumber, lineNumber: 6, url}, text: 'warning', type: 'warning', }, ]); const jsErrors = getBrowserJsErrors(); await expect( jsErrors.length, 'getBrowserJsErrors read zero JS errors when there are no errors', ).eql(0); await waitForInterfaceStabilization(100); await expect(jsErrors.length, 'getBrowserJsErrors read all JS errors').eql(1); await expect(String(jsErrors[0]?.error), 'getBrowserJsErrors read all JS errors').contains('foo'); });