В настоящее время невозможно & Я не знаю, будет ли это возможно в будущем. Дело в том, что вы должны переписать объект console
в браузере. Это означает, что вы должны активно менять что-то в среде своего пользователя. И я не думаю, что это хорошая идея.
Хотя, может быть обходной путь для вашей проблемы;)
Допустим, вы пишете функцию отладки (как стороне клиента файла JavaScript), как это:
window.myDebugLog = [];
window.myDebug = function() {
var list = Array.prototype.slice.call(arguments, 0);
window.myDebugLog.push(list);
}
Теперь, позволяет изменять ваша функция протоколирования немного:
$('#link').on('click', function() {
var msg = 'Click link';
console.log(msg);
window.myDebug(msg);
});
При этом вы можете получить доступ к & выход вашей протоколирования. Еще лучше, с некоторыми удовольствиями ClojureCompiler или Esprima, вы можете разбирать эту отладку при создании своего производственного кода, чтобы вам не нужно было его отправлять.
В вашем Далеков тесте, просто сделать это:
module.exports = {
'Clicked link': function (test) {
test.open('http://localhost/')
.click('#link')
.execute(function() {
this.data('logs', window.myDebugLog);
})
.log.message(function() {
return JSON.stringify(test.data('logs').pop());
})
.done();
}
};
Это даст вам свой материал журнала в командной строке вывода. Если вы не хотите добавлять этот дополнительный вызов функции, вы также можете перезаписать console.log
самостоятельно. Но это может вызвать некоторые проблемы, так возьмите это с зерном соли:
window.myDebugLog = [];
window.oldLog = console.log;
console.log = function() {
var list = Array.prototype.slice.call(arguments, 0);
window.myDebugLog.push(list);
window.oldLog.apply(console, list);
};
Надежда, что помогает вам с вашей проблемой.