Index: test/runners/webdriver.js |
=================================================================== |
--- a/test/runners/webdriver.js |
+++ b/test/runners/webdriver.js |
@@ -19,26 +19,26 @@ |
function executeScript(driver, name, script, scriptName, scriptArgs) |
{ |
let realScript = `let f = ${script} |
let callback = arguments[arguments.length - 1]; |
return Promise.resolve() |
.then(() => f(...arguments)) |
.then(() => callback());`; |
- return driver.executeScript(`window.consoleLogs = []; |
- let oldLog = console.log; |
+ return driver.executeScript(`let oldLog = console.log; |
console.log = msg => { |
Sebastian Noack
2018/09/17 16:18:06
What is about console.error(), console.warn(), etc
hub
2018/09/18 22:23:36
Only console.log is used for reporting test result
|
- window.consoleLogs.push(msg); |
+ window.consoleLogs.log.push(msg); |
oldLog.call(this, msg); |
};`) |
.then(() => driver.executeAsyncScript(realScript, scriptArgs)) |
.then(() => driver.executeScript("return window.consoleLogs;")) |
.then(result => |
{ |
console.log(`\nBrowser tests in ${name}\n`); |
- result.forEach(item => console.log(item)); |
+ result.log.forEach(item => console.log(item)); |
Sebastian Noack
2018/09/17 16:18:06
Nit: We generally prefer for..of loops of .forEach
hub
2018/09/18 22:23:36
Done.
|
+ if (result.failures != 0) |
+ return Promise.reject("Test failure"); |
}) |
- .then(() => driver.quit()) |
- ; |
+ .finally(() => driver.quit()); |
Sebastian Noack
2018/09/17 16:18:06
.finally() requires Node.js 10, but we still suppo
hub
2018/09/18 22:23:36
I have run this on Node 7 and 8 and it did work. I
Sebastian Noack
2018/09/19 08:16:50
I'm on Node.js 8.5.0 and Promise.resolve().finally
|
} |
module.exports.executeScript = executeScript; |