我想整合黄瓜量角器,虽然安装程序按预期工作(测试失败并正常成功),我得到令人讨厌的ECONNREFUSED错误,使我的反馈不可读。量角器 - 黄瓜:令人讨厌的ECONNFIFED错误,虽然按预期工作
问题1:ECONNFRESED错误的确切含义是什么?我不太了解反馈意见,也找不到好的文档。
问题2:我的设置有什么问题?我的设置是否正确?
问题3:有人在量角器上用黄瓜在流浪箱中进行BDD测试吗?示例代码,请:)
依赖
npm i protractor cucumber selenium-webdriver chai chai-as-promised express grunt-protractor-runner protractor-cucumber --save-dev
正如你看到的,我通过咕噜运行的流浪汉盒内我的命令。流浪者箱子只有firefox,我不确定这是个问题,量角器之前运行得很好。
终端反馈
[[email protected] web-src]$ grunt protractor:singlerun
Running "protractor:singlerun" (protractor) task
Using the selenium server at http://localhost:4444/wd/hub
Feature: Blog
As a user
I want to visit blog
So that I can stay informed about a topic
Scenario: A disclaimer scenario # tests/e2e/cucumber/features/Blog.feature:6
/var/www/miyagi/web-src/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:131
var session = webdriver.promise.controlFlow().execute(function() {
^
Error: ECONNREFUSED connect ECONNREFUSED
at <anonymous>
at <anonymous>
at <anonymous>
at <anonymous>
at <anonymous>
at <anonymous>
==== async task ====
WebDriver.createSession()
at Function.webdriver.WebDriver.acquireSession_ (/var/www/miyagi/web-src/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:131:49)
at Function.webdriver.WebDriver.createSession (/var/www/miyagi/web-src/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:111:30)
at Builder.build (/var/www/miyagi/web-src/node_modules/protractor/node_modules/selenium-webdriver/builder.js:106:20)
at HostedDriverProvider.getDriver (/var/www/miyagi/web-src/node_modules/protractor/lib/driverProviders/hosted.js:63:9)
at /var/www/miyagi/web-src/node_modules/protractor/lib/runner.js:241:41
at _fulfilled (/var/www/miyagi/web-src/node_modules/protractor/node_modules/q/q.js:797:54)
at self.promiseDispatch.done (/var/www/miyagi/web-src/node_modules/protractor/node_modules/q/q.js:826:30)
at Promise.promise.promiseDispatch (/var/www/miyagi/web-src/node_modules/protractor/node_modules/q/q.js:759:13)
at /var/www/miyagi/web-src/node_modules/protractor/node_modules/q/q.js:573:44
>>
>> Test failed but keep the grunt process alive.
Done, without errors.
[[email protected] web-src]$
量角器配置
// conf.js
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: ['../cucumber/features/*.feature'],
multiCapabilities: [{
browserName: 'firefox'
}],
onPrepare: function() {
var width = 1024;
var height = 600;
browser.driver.manage().window().setSize(width, height);
// implicit and page load timeouts
browser.manage().timeouts().pageLoadTimeout(40000);
browser.manage().timeouts().implicitlyWait(25000);
// for non-angular page
browser.ignoreSynchronization = true;
},
framework: 'cucumber',
cucumberOpts: {
require: '../cucumber/features/*.steps.js',
format: 'pretty'
}
};
咕噜任务
protractor: {
options: {
configFile: '<%=tests %>/e2e/protractor/config.js', // Default config file
noColor: false, // If true, protractor will not use colors in its output
keepAlive: true
},
auto : {
keepAlive: true // If false, the grunt process stops when the test fails.
},
singlerun: {}
},
功能
Feature: Blog
As a user
I want to visit blog
So that I can stay informed about a topic
Scenario: A disclaimer scenario
Given I visit blog
Then I should see a disclaimer
步骤
//http://chaijs.com/
var chai = require('chai');
//https://github.com/domenic/chai-as-promised/
var chaiAsPromised = require('chai-as-promised');
chai.use(chaiAsPromised);
var expect = chai.expect;
module.exports = function() {
var url = 'http://dev.com/search',
searched = url + '#/?q=food&page_number=1&sort=relevance',
driver,
resultsA, resultsB, resultsC,
page,
site;
this.Given(/^I visit blog$/, function(callback) {
browser.get(url);
driver = browser.driver;
browser.getTitle()
.then(function (title) {
expect(browser.getTitle()).to.eventually.equal(arg1).and.notify(callback);
});
});
this.Then(/^I should see a disclaimer$/, function(callback) {
element(by.css ('.disclaimer'))
.isDisplayed()
.then(function (el) {
expect(el).to.have.length(1);
callback();
});
});
};
干杯
谢谢你的回答,它恰好从vagrant自动设置一个硒服务器,当我运行我得到的两个命令'错误:没有显示指定',我不是得到任何结果,没有运行命令我得到我的结果,但我也得到ECONNREFUSED错误 – 2014-09-23 09:23:59
如果你在一个虚拟机,你可能需要运行['xvfb'](http://en.wikipedia .org/wiki/Xvfb),一个“xserver虚拟帧缓冲区”,用于在无GUI的服务器环境中运行无头firefox/chrome浏览器。 – Droogans 2014-09-29 15:20:23
我会仔细检查一下,但我认为我们已经这样做了。 – 2014-10-01 15:58:44