Angularjs 量角器浏览器错误日志未完成
我想确保我的angular应用程序在加载应用程序所在页面时不会在控制台中记录任何错误 为此,我使用量角器,到目前为止,我进行了以下测试: 规范js:Angularjs 量角器浏览器错误日志未完成,angularjs,testing,protractor,Angularjs,Testing,Protractor,我想确保我的angular应用程序在加载应用程序所在页面时不会在控制台中记录任何错误 为此,我使用量角器,到目前为止,我进行了以下测试: 规范js: describe('Protractor Demo App', function () { it('should show all logs', function () { browser.get('http://localhost:9050/#/10'); browser.sleep(20000)
describe('Protractor Demo App', function () {
it('should show all logs', function () {
browser.get('http://localhost:9050/#/10');
browser.sleep(20000)
browser.manage().logs().get('browser').then(function (browserLogs) {
console.log(browserLogs)
browserLogs.forEach(function (log) {
console.log("-------------------");
console.log(log.message);
if (log.level.value > 900) {
throw log.message;
}
});
});
});
});
conf.js:
exports.config = {
framework: 'jasmine2',
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: ['spec.js'],
jasmineNodeOpts: {
// If true, display spec names.
isVerbose: true,
// If true, print colors to the terminal.
showColors: true,
// If true, include stack traces in failures.
includeStackTrace: true,
// Default time to wait in ms before a test fails.
defaultTimeoutInterval: 30000
},
capabilities: {
'browserName': 'chrome',
'loggingPrefs' : {"driver": "ALL", "server": "ALL", "browser": "ALL"}
},
};
当我查看终端输出时,我只得到日志的第一个元素。但是,如果我在chrome中打开控制台并亲自查看日志,则会有更多错误和警告日志,但它们不是终端输出的一部分。这怎么可能,我错过了什么?我遇到了同样的问题,量角器报告的控制台错误与我在浏览器中手动打开页面时看到的错误不同。下面是我解决问题的方法,我使用了
navigate()
方法而不是get()
。它们应该是相同的,但至少在我的情况下,它们在浏览器控制台中产生不同的结果
describe('Protractor Demo App', function () {
it('should show all logs', function () {
browser.get('http://localhost:9050/#/10');
// Clear console log
browser.manage().logs().get('browser');
// Load the page again, now with the navigate() method
browser.navigate().to('http://localhost:9050/#/10');
browser.manage().logs().get('browser').then(function (browserLogs) {
console.log(browserLogs);
browserLogs.forEach(function (log) {
console.log("-------------------");
console.log(log.message);
if (log.level.value > 900) {
throw log.message;
}
});
});
});
});
我遇到了同样的问题,量角器报告的控制台错误与我在浏览器中手动打开页面时看到的错误不同。下面是我解决问题的方法,我使用了
navigate()
方法而不是get()
。它们应该是相同的,但至少在我的情况下,它们在浏览器控制台中产生不同的结果
describe('Protractor Demo App', function () {
it('should show all logs', function () {
browser.get('http://localhost:9050/#/10');
// Clear console log
browser.manage().logs().get('browser');
// Load the page again, now with the navigate() method
browser.navigate().to('http://localhost:9050/#/10');
browser.manage().logs().get('browser').then(function (browserLogs) {
console.log(browserLogs);
browserLogs.forEach(function (log) {
console.log("-------------------");
console.log(log.message);
if (log.level.value > 900) {
throw log.message;
}
});
});
});
});
我遇到了同样的问题,量角器报告的控制台错误与我在浏览器中手动打开页面时看到的错误不同。下面是我解决问题的方法,我使用了
navigate()
方法而不是get()
。它们应该是相同的,但至少在我的情况下,它们在浏览器控制台中产生不同的结果
describe('Protractor Demo App', function () {
it('should show all logs', function () {
browser.get('http://localhost:9050/#/10');
// Clear console log
browser.manage().logs().get('browser');
// Load the page again, now with the navigate() method
browser.navigate().to('http://localhost:9050/#/10');
browser.manage().logs().get('browser').then(function (browserLogs) {
console.log(browserLogs);
browserLogs.forEach(function (log) {
console.log("-------------------");
console.log(log.message);
if (log.level.value > 900) {
throw log.message;
}
});
});
});
});
我遇到了同样的问题,量角器报告的控制台错误与我在浏览器中手动打开页面时看到的错误不同。下面是我解决问题的方法,我使用了
navigate()
方法而不是get()
。它们应该是相同的,但至少在我的情况下,它们在浏览器控制台中产生不同的结果
describe('Protractor Demo App', function () {
it('should show all logs', function () {
browser.get('http://localhost:9050/#/10');
// Clear console log
browser.manage().logs().get('browser');
// Load the page again, now with the navigate() method
browser.navigate().to('http://localhost:9050/#/10');
browser.manage().logs().get('browser').then(function (browserLogs) {
console.log(browserLogs);
browserLogs.forEach(function (log) {
console.log("-------------------");
console.log(log.message);
if (log.level.value > 900) {
throw log.message;
}
});
});
});
});
你在chrome中获得的日志级别是多少?尝试将日志级别更改为800-
如果(log.level.value>=800)
由于大多数日志级别为800或900,您的代码对我来说运行良好,您可以尝试console.log(JSON.stringify(log))
?@GirishSortur我为测试添加了配置。更改loggingPrefs使其变得更好,但日志仍然不完整。Firefox的行为与之类似您是否如我上面所说更改了日志级别并查看它是否打印了所有日志级别?如果您指的是“更改日志级别”更改了我请求级别超过900的日志消息的代码行,然后是的,但这没有什么区别,而且我也会事先转储整个日志。你在chrome中得到的日志级别是多少?尝试将日志级别更改为800-如果(log.level.value>=800)
由于大多数日志级别为800或900,您的代码对我来说运行良好,您可以尝试console.log(JSON.stringify(log))
?@GirishSortur我为测试添加了配置。更改loggingPrefs使其变得更好,但日志仍然不完整。Firefox的行为与之类似您是否如我上面所说更改了日志级别并查看它是否打印了所有日志级别?如果您指的是“更改日志级别”更改了我请求级别超过900的日志消息的代码行,然后是的,但这没有什么区别,而且我也会事先转储整个日志。你在chrome中得到的日志级别是多少?尝试将日志级别更改为800-如果(log.level.value>=800)
由于大多数日志级别为800或900,您的代码对我来说运行良好,您可以尝试console.log(JSON.stringify(log))
?@GirishSortur我为测试添加了配置。更改loggingPrefs使其变得更好,但日志仍然不完整。Firefox的行为与之类似您是否如我上面所说更改了日志级别并查看它是否打印了所有日志级别?如果您指的是“更改日志级别”更改了我请求级别超过900的日志消息的代码行,然后是的,但这没有什么区别,而且我也会事先转储整个日志。你在chrome中得到的日志级别是多少?尝试将日志级别更改为800-如果(log.level.value>=800)
由于大多数日志级别为800或900,您的代码对我来说运行良好,您可以尝试console.log(JSON.stringify(log))
?@GirishSortur我为测试添加了配置。更改loggingPrefs使其变得更好,但日志仍然不完整。Firefox的行为与之类似您是否如我上面所说更改了日志级别并查看它是否打印了所有日志级别?如果您指的是“更改日志级别”更改了我请求级别超过900的日志消息的代码行,然后是的,但这没有什么区别,而且我也会提前转储整个日志。这只在页面加载过程中出现错误时才有帮助。如果它发生在页面本身的许多操作之后呢?这只有在页面加载期间发生错误时才有帮助。如果它发生在页面本身的许多操作之后呢?这只有在页面加载期间发生错误时才有帮助。如果它发生在页面本身的许多操作之后呢?这只有在页面加载期间发生错误时才有帮助。如果在页面上进行了大量操作之后发生了该怎么办?