RuntimeError:无法连接到selenium服务器

时间:2015-08-19 23:01:04

标签: selenium jasmine webdriver-io

我有一个网络应用,我试图通过Jasmine使用WebDriver IO进行测试。目前,我已经设置了我的测试:

'use strict';

var webdriverio = require('webdriverio');
var client = null;

var rootUrl = 'http://localhost:5000';

describe('Site', function() {
  beforeEach(function(done) {       
    // Initialize the test client. Use PhantomJS
    client = webdriverio.remote({ desiredCapabilities: { browserName: 'phantomjs' } });

    client.init()
      .url(rootUrl)
      .then(done);
  });

  afterEach(function(done) {
    client.end(done);       
  });

  // Ensure that the page properly loads.
  it('Should load', function(done) {
    client
      .getTitle()
      .then(function(title) {
        expect(title).toBe('Welcome');          
        done();         
      })
    ;
  });   
});

我通过以下任务从gulp运行此测试:

gulp.task('test', function() {
  return gulp.src(input.tests)
    .pipe(jasmine())
  ;
});

当我通过gulp test运行此任务时,出现以下错误:

RuntimeError: Couldn't connect to selenium server

我不明白为什么我会收到此错误。

1 个答案:

答案 0 :(得分:1)

我没有看到任何关于启动selenium服务器独立的事情。 你需要下载jar并运行它。

您可以通过执行

来执行此操作
$ curl -O http://selenium-release.storage.googleapis.com/2.46/selenium-server-standalone-2.46.0.jar

然后

$ java -jar selenium-server-standalone-2.46.0.jar

然后您可以使用

在测试中调用服务器
webdriverio
.remote(options)
.init()
.url('http://www.google.com')
.title(function(err, res) {
    console.log('Title was: ' + res.value);
})
.end();