我是新的量角器,也是gulp task的新手。我有一个看起来像这样的gulp文件:
$new_ipn_record_id = $new_ipn_record_result->getLastRecord()->getRecordID();
但是当我使用 - gulpe2e:local运行量角器时,我收到以下错误:
'use strict';
var global = {
app_files: {
spec: './e2e/**/*_spec.js'
},
folders: {
specs: './specs'
}
};
var gulp = require('gulp');
var jshint = require('gulp-jshint');
var stylish = require('jshint-stylish');
var beautify = require('gulp-jsbeautifier');
var protractor = require('gulp-protractor').protractor;
// Download and update the selenium driver
var webdriver_update = require('gulp-protractor').webdriver_update;
var webdriver_standalone = require('gulp-protractor').webdriver_standalone;
// Downloads the selenium webdriver
gulp.task('webdriver_update', webdriver_update);
// Runs the selenium webdriver
gulp.task('webdriver_standalone', webdriver_standalone);
// Lint spec files
gulp.task('lint', function() {
return gulp.src(global.app_files.specs).pipe(jshint()).pipe(jshint.reporter(stylish)).pipe(jshint.reporter('fail'));
});
// Beautify spec files
gulp.task('beautify', function() {
return gulp.src(global.app_files.specs).pipe(beautify({
config: '.jsbeautifyrc'
})).pipe(gulp.dest(global.folders.specs));
});
gulp.task('e2e:local', ['lint', 'webdriver_update'], function() {
gulp.src([global.app_files.specs], {
read: false
}).pipe(protractor({
configFile: 'protractor.conf.js'
})).on('error', function(e) {
throw e;
});
});
gulp.task('e2e', ['e2e:local']);
任何帮助都将非常感激。
由于
Sabbu
答案 0 :(得分:3)
错误表明量角器正在尝试连接到webdriver,并且TCP连接被拒绝。这可能是因为webdriver没有运行。
您的gulp文件定义了启动webdriver的任务:
// Runs the selenium webdriver
gulp.task('webdriver_standalone', webdriver_standalone);
运行它:
gulp webdriver_standalone
让它继续运行,然后运行gulp任务以开始测试。
或者,你可以让量角器为你启动和停止webdriver。来自documentation:
启动selenium服务器有2个选项。
第一个是让Protractor自动处理它,包括在测试完成后停止它。要做到这一点,只需指向量角器配置文件中的selenium jar(您需要相应地更新版本号)而不是地址:
// The file path to the selenium server jar ()
seleniumServerJar: './node_modules/protractor/selenium/selenium-server-standalone-2.45.0.jar',
// seleniumAddress: 'http://localhost:4444/wd/hub',