How can I get all console messages on nightwatch.js debugging?
At phantom it's possible to use page.onError
handler. Can I do the same with nightwatch?
I know about window.onerror
but is there way to save all console messages?
Can anyone share working config / code ?
Solution:
module.exports = {
'Check getting log messages' : function (client) {
client
.url('http://jsbin.com/rohilugegi/1/')
.getLogTypes(function(result) {
console.log(result);
})
.getLog('browser', function(result) {
console.log(result);
})
;
return client;
},
It will give output
[Start] Test Suite ================== Running: Check getting log messages [ 'har', 'browser', 'client', 'server' ] [ { message: 'Test error\n error (:0)', timestamp: 1428447687315, level: 'WARNING' }, { message: 'Test log (:)', timestamp: 1428447687315, level: 'INFO' } ] No assertions ran.
Commands getLogTypes and getLog are already implemented at client commands but their description are absent at site API
Looks like it worth read source code instead of documentation
Below jsdoc for this functions from source code :
/**
* Gets the available log types
*
* ```
* this.demoTest = function(client) {
* this.getLogTypes(function( typesArray ) {
*
* });
* };
* ```
*
* @method getLogTypes
* @param {function} [callback] Optional callback function to be called when the command finishes.
* @api commands
* @see logTypes
*/
and
/**
* Gets a log from selenium
*
* ```
* this.demoTest = function(client) {
* this.getLog( 'browser', function( logEntriesArray ) {
* console.log( "Log length: " + logEntriesArray.length );
* logEntriesArray.forEach( function( log ) {
* console.log( "[" + log.level + "] " + log.timestamp + " : " + log.message );
* } );
* });
* };
* ```
*
* @method getLog
* @param {string} typeString Log type to request
* @param {function} [callback] Optional callback function to be called when the command finishes.
* @api commands
* @see log
*/