在硒节点js上运行测试用例时出现错误错误:ECONNREFUSED连接ECONNREFUSED。
测试用例
var assert = require('assert'),
test = require('selenium-webdriver/testing'),
webdriver = require('selenium-webdriver');
test.describe('Google Search', function () {
test.it('should work', function (done) {
this.timeout(100000);
var driver = new webdriver.Builder().withCapabilities(webdriver.Capabilities.chrome()).build();
driver.get('http://www.google.com');
var searchBox = driver.findElement(webdriver.By.name('q'));
searchBox.sendKeys('simple programmer');
searchBox.getAttribute('value').then(function (value) {
assert.equal(value, 'simple programmer');
});
driver.quit();
done();
});
});
和错误堆栈跟踪如下
错误:ECONNREFUSED连接ECONNREFUSED 127.0.0.1:63528
在ClientRequest。 (node_modules \ selenium-webdriver \ http \ index.js:238:15)
最佳答案
我不确定您的示例是否可以工作,如果您想在本地运行测试,则需要安装并加载正确的Selenium驱动程序。
对于chrome,我没有运气就尝试使用var driver = new webdriver.Builder().forBrowser('chrome')
语法,chrome会启动但无法运行测试,我只是看到了您所描述的错误。
但是,对于FireFox var driver = new webdriver.Builder().forBrowser('firefox').build();
来说,它可以完美工作!
我发现这可行(在本地运行)
var assert = require('assert'),
webdriver = require('selenium-webdriver'),
By = webdriver.By,
until = webdriver.until,
chrome = require('selenium-webdriver/chrome'),
firefox = require('selenium-webdriver/firefox');
var path = require('chromedriver').path;
var driver = chrome.Driver.createSession(new chrome.Options(), new
chrome.ServiceBuilder(path).build());
driver.get('http://mysite/myapp/tests/functional/start.html');
//tests here