在Chrome上运行节点js selenium测试用例获取错误错误:ECONNREFUSED连接ECONNREFUSED 127.0.0.1:63528

时间:2017-03-16 07:08:21

标签: javascript node.js selenium selenium-webdriver selenium-chromedriver

在selenium node 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 \硒的webdriver \ HTTP \ index.js:238:15)

1 个答案:

答案 0 :(得分:1)

我不确定您的示例是否可行,如果您想在本地运行测试,则需要安装并加载正确的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
相关问题