我以前见过这个问题,但答案中没有一个解决了我的问题。我正在尝试做量角器教程,下面是conf.js文件:
// conf.js
exports.config = {
framework: 'jasmine',
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: ['spec.js']
}下面是spec.js文件:
// spec.js
describe('Protractor Demo App', function() {
it('should have a title', function() {
browser.get('http://juliemr.github.io/protractor-demo/');
expect(browser.getTitle()).toEqual('Super Calculator');
});
});我也正在让ERROR100运行另一个项目,但为了简单起见,我将专注于这个项目。下面是我得到的错误:
E/configParser - Error code: 105
E/configParser - Error message: failed loading configuration file conf.js
E/configParser - C:\Workspace\ProtractorCalc\conf.js:6我知道这一定是我的webdriver/selenium的问题,但是我不知道如何正确地调试它。在运行conf.js文件之前,我运行了webdriver-manager update和webdriver-manager start,当我运行webdriver-manager start时,它看起来正在运行,但也会提示我结束webdriver-manager start,以便让我能够控制命令行:
我/e运行它时的最后一行是"Selenium Server is up and running“,但是为了能够输入protractor conf.js,我必须输入ctrl+c,我得到的结果是:
Attempting to shut down selenium nicely
Staying alive until the Selenium Standalone process exists
events.js:163 throw er; //Unhandled 'error' event
Error: read ECONNRESET
at exports._errnoException (util.js:1050:11)
at TCP.onread(net.js.581:26)
Terminate batch job (Y/N)?所以webdriver-manager把我踢出去了,这就是为什么protractor的conf.js文件失败了?
发布于 2017-07-12 16:22:59
正如您所说,webdriver-manager start启动了the驱动程序,并且它正在正常运行。然而,当你按下ctrl+c来“重新获得控制权”时,你实际上是在杀死进程。正是在这一点上,webdriver停止了,这就是量角器不能运行的原因。
正确执行此操作的最简单方法是打开两个命令窗口:在第一个窗口中运行webdriver-manager start,在第二个窗口中运行protractor conf。
发布于 2017-07-12 11:28:18
首先,日志记录引用conf.js文件。当我查看您的文件时,我猜问题在于您没有提供针对其运行测试的功能。换句话说,您希望在哪种浏览器上运行测试?
下面是一个包含示例conf.js-file的example项目。如果你把你的文件改成这样,我想它应该能正常工作
// An example configuration file.
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
// Capabilities to be passed to the webdriver instance.
capabilities: {
'browserName': 'chrome'
},
// Framework to use. Jasmine is recommended.
framework: 'jasmine',
// Spec patterns are relative to the current working directory when
// protractor is called.
specs: ['spec.js'],
// Options to be passed to Jasmine.
jasmineNodeOpts: {
defaultTimeoutInterval: 30000
}
};
https://stackoverflow.com/questions/45046344
复制相似问题