在Gulp中自动运行webdriver进行e2e测试

时间:2015-10-05 16:14:39

标签: selenium selenium-webdriver gulp protractor e2e-testing

有以下protractor.conf.js:

exports.config = {
  framework: 'jasmine',
  specs: ['e2e-tests/**/*.js'],
  seleniumAddress: 'http://127.0.0.1:4444/wd/hub',
  seleniumServerJar: './node_modules/protractor/selenium/selenium-server-standalone-2.47.1.jar'
}

Gulp任务:

gulp.task('e2e-testing', ['webdriver_standalone'], function() {
  gulp.src([]).pipe(protractor({ configFile: "protractor.conf.js" }))
    .on('error', function(e) { throw e })
});

此代码运行良好,但我必须在启动webdriver-manager start --standalone任务之前执行e2e。我怎么能省略它?我怎么能自动完成?提前致谢

2 个答案:

答案 0 :(得分:3)

只需删除seleniumAddress配置选项,以便在启动测试套件时使Protractor自行实例化新服务器。否则,如果指定了服务器地址,则Protractor会尝试连接到它,而不是创建一个新的。请查看从测试脚本启动服务器 in the docs部分:

  

请注意,如果您设置seleniumAddress,则设置为   seleniumServerJar,seleniumPort,seleniumArgs,sauceUser和sauceKey   将被忽略。

答案 1 :(得分:0)

是的,我们需要在config.js中添加以下内容

  • seleniumServerJar:“ jar文件的路径”,
  • seleniumPort:'4444'

并从配置文件中删除seleniumAddress

它绝对正常