1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-12-23 09:52:26 +01:00

test - e2e - check for console errors after each test

This commit is contained in:
kumavis 2018-05-21 16:26:38 -07:00
parent e8b2e11c56
commit 9c6e2ec8ef

View File

@ -30,6 +30,14 @@ describe('Metamask popup page', function () {
}) })
afterEach(async function () { afterEach(async function () {
// check for console errors
const errors = await checkBrowserForConsoleErrors()
if (errors.length) {
const errorReports = errors.map(err => err.message)
const errorMessage = `Errors found in browser console:\n${errorReports.join('\n')}`
this.test.error(new Error(errorMessage))
}
// gather extra data if test failed
if (this.currentTest.state === 'failed') { if (this.currentTest.state === 'failed') {
await verboseReportOnFailure(this.currentTest) await verboseReportOnFailure(this.currentTest)
} }
@ -300,6 +308,14 @@ describe('Metamask popup page', function () {
await driver.executeScript('window.metamask.setProviderType(arguments[0])', type) await driver.executeScript('window.metamask.setProviderType(arguments[0])', type)
} }
async function checkBrowserForConsoleErrors() {
const ignoredLogTypes = ['WARNING']
const browserLogs = await driver.manage().logs().get('browser')
const errorEntries = browserLogs.filter(entry => !ignoredLogTypes.includes(entry.level.toString()))
const errorEntryObjects = errorEntries.map(entry => entry.toJSON())
return errorEntryObjects
}
async function verboseReportOnFailure (test) { async function verboseReportOnFailure (test) {
let artifactDir let artifactDir
if (process.env.SELENIUM_BROWSER === 'chrome') { if (process.env.SELENIUM_BROWSER === 'chrome') {