我有一个网络应用,我试图通过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
我不明白为什么我会收到此错误。
答案 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();