이것은 현재 가능하지 않습니다. & 앞으로 가능할 지 모르겠습니다. 문제는 브라우저에서 console
개체를 덮어 써야한다는 것입니다. 즉, 사용자 환경에서 뭔가를 적극적으로 변경해야합니다. 그리고 저는 이것이 좋은 생각이라고 생각하지 않습니다. ;
문제에 대한 해결 방법이있을 수 있습니다,하지만
말할 수 있습니다),이 같은 자바 스크립트 파일을 클라이언트 측과 같은 디버깅 기능() 쓰기 : 이제
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 fun를 사용하면 프로덕션 코드를 빌드 할 때 디버깅 내용을 파싱 할 수 있으므로 선적 할 필요가 없습니다. 당신의 달렉 테스트에서
, 그냥 이렇게 : 당신에게 명령 줄 출력의 로그 물건을 줄 것이다
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);
};
희망.