test - e2e - check for console errors after each test

feature/default_network_editable
kumavis 7 years ago
parent e8b2e11c56
commit 9c6e2ec8ef
  1. 16
      test/e2e/metamask.spec.js

@ -30,6 +30,14 @@ describe('Metamask popup page', 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') {
await verboseReportOnFailure(this.currentTest)
}
@ -300,6 +308,14 @@ describe('Metamask popup page', function () {
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) {
let artifactDir
if (process.env.SELENIUM_BROWSER === 'chrome') {

Loading…
Cancel
Save