mirror of
https://github.com/openstf/stf
synced 2025-10-04 02:09:32 +02:00

- Added BrowerLogs, a Protractor helper which redirects browser logs to the console, with an additional expectNoLogs option. - Refactored Login model names to work seamlessly.
36 lines
1.1 KiB
JavaScript
36 lines
1.1 KiB
JavaScript
var chalk = require('chalk')
|
|
|
|
// http://stackoverflow.com/questions/7157999/output-jasmine-test-results-to-the-console
|
|
// https://github.com/pivotal/jasmine/blob/master/src/console/ConsoleReporter.js
|
|
|
|
module.exports = function BrowserLogs(options) {
|
|
options = options || {}
|
|
|
|
if (typeof options.expectNoLogs === 'undefined') {
|
|
options.expectNoLogs = false
|
|
}
|
|
if (typeof options.outputLogs === 'undefined') {
|
|
options.outputLogs = true
|
|
}
|
|
|
|
browser.getCapabilities().then(function (cap) {
|
|
var browserName = ' ' + cap.caps_.browserName + ' log '
|
|
var browserStyled = chalk.bgBlue.white.bold(browserName) + ' '
|
|
|
|
browser.manage().logs().get('browser').then(function (browserLogs) {
|
|
if (options.expectNoLogs) {
|
|
expect(browserLogs.length).toEqual(0)
|
|
}
|
|
|
|
if (options.outputLogs && browserLogs.length) {
|
|
browserLogs.forEach(function (log) {
|
|
if (log.level.value > 900) {
|
|
console.error(browserStyled + chalk.white.bold(log.message))
|
|
} else {
|
|
console.log(browserStyled + chalk.white.bold(log.message))
|
|
}
|
|
})
|
|
}
|
|
})
|
|
})
|
|
}
|