-1

我有一个网络应用程序,我正在尝试通过 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

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

4

1 回答 1

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();
于 2015-08-25T13:24:05.467 回答