使用gulp运行量角器和硒时的问题

时间:2016-01-13 02:36:11

标签: selenium gulp protractor

我是新的量角器,也是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

1 个答案:

答案 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',