【发布时间】:2017-01-24 20:03:16
【问题描述】:
我正在尝试调试 Protractor-E2E-Tests,但我的测试没有在 browser.debugger() 上暂停。我实现这一目标的尝试是
- 通过运行“webdriver-manager start”启动我的 selenium 服务器
- 在我的测试代码中插入
browser.debugger() - 运行
grunt serve启动我的应用程序 - 运行
protractor debug protractor.conf.js
第 3 步的控制台输出如下:
Starting background Express server
debugger listening on port 5858
Express server listening on 9000, in development mode
步骤 4 我的控制台输出如下:
$ protractor debug protractor.conf.js
Starting debugger agent.
debugger listening on port 5858
Starting selenium standalone server...
connecting... ok
debug> Selenium standalone server started at http://192.168.1.101:57265/wd/hub
.........
Finished in 10.737 seconds
所以它运行测试没有按预期暂停...
这是我的 protractor.conf.js:
'use strict';
exports.config = {
allScriptsTimeout: 110000,
baseUrl: 'http://localhost:' + (process.env.PORT || '9000'),
// list of files / patterns to load in the browser
specs: [
'e2e/**/*.spec.js'
],
capabilities: {
'browserName': 'chrome'
},
framework: 'jasmine',
jasmineNodeOpts: {
defaultTimeoutInterval: 30000
}
};
编辑
这是我的测试代码:
it('should help to debug', function(done) {
console.log('before debugger'); //gets displayed in console
browser.debugger();
console.log('after debugger'); //gets displayed in console as well, but shouldn't
done();
});
感谢任何帮助!
【问题讨论】:
-
你确定
browser.debugger()行真的被执行了吗? -
是的,我确定是因为日志记录(使用我的测试代码和步骤 3 的控制台输出更新了我的帖子),正如您现在所看到的,步骤 3 让调试器在执行时侦听相同的端口第 4 步确实...
-
是您的端口 5858 已在使用中,这可能会导致调试器有时行为异常。
-
browser.explore()在我的 OS X 笔记本电脑上运行良好,但在 Windows 7 上运行失败。我仍然不明白为什么。
标签: angularjs node.js debugging protractor angularjs-e2e