rochejul / gulp-angular-protractor

Gulp plugin to run protractor tests
MIT License
25 stars 25 forks source link
angular gulp-plugins javascript protractor protractor-tests testing

gulp-angular-protractor

Build StatusDependency Status devDependency Status

Known Vulnerabilities

NPM NPM

Gulp plugin to run protractor tests with automatic launch and stop of the WebDriver server

Install

$ npm install --save-dev gulp-angular-protractor

Side dependencies

You should declare what expected version of protractor and webdriver manager you want to use:

{
  "name": "example-gulp-protractor",
  "version": "0.0.1",
  "description": "",
  "scripts": {
    "gulp": "node node_modules/gulp/bin/gulp.js",
    "test": "npm run gulp protractor"
  },
  "devDependencies": {
    "gulp": "latest",
    "gulp-angular-protractor": "latest",
    "protractor": "4.0.11",
    "webdriver-manager": "10.2.8"
  }
}

Be carefull: some protractor and webdriver dependencies version required:

Usage

var gulp = require('gulp');
var angularProtractor = require('gulp-angular-protractor');

gulp.src(['./src/tests/*.js'])
    .pipe(angularProtractor({
        'configFile': 'test/protractor.config.js',
        'args': ['--baseUrl', 'http://127.0.0.1:8000'],
        'autoStartStopServer': true,
        'debug': true
    }))
    .on('error', function(e) { throw e })

Full example

/*jshint node: true, camelcase: false*/
/*global require: true*/

'use strict';

var gulp = require('gulp'),
    gulpProtractorAngular = require('gulp-angular-protractor');

// Setting up the test task
gulp.task('protractor', function(callback) {
    gulp
        .src(['example_spec.js'])
        .pipe(gulpProtractorAngular({
            'configFile': 'protractor.conf.js',
            'debug': false,
            'autoStartStopServer': true
        }))
        .on('error', function(e) {
            console.log(e);
        })
        .on('end', callback);
});

API

angularProtractor(options)

options

options.autoStartStopServer

Type: Boolean Default: true

If true, the plugin will update the WebDriver, launch the WebDriver server before launching tests and stop it at the end automatically

options.configFile

Type: String Default: null

The path to your protractor config

options.args

Type: Array Default: []

Arguments get passed directly to the protractor call Read the docs for more information

options.debug

Type: Boolean Default: false

Enables Protractor's debug mode, which can be used to pause tests during execution and to view stack traces.

options.verbose

Type: Boolean Default: true

options.protractorModulePath

Type: String Default: undefined

If you want to use another protractor version instead the default one

options.webDriverUpdate

Type: Object Default: undefined

options.webDriverUpdate.skip

Type: Boolean Default: false

options.webDriverUpdate.browsers

Type: Array Default: ['chrome']

List of browsers to update the webdriver

options.webDriverUpdate.args

Type: Array Default: []

Additional arguments to pass for the update of the webdriver

options.webDriverStart

Type: Object Default: undefined

options.webDriverStart.args

Type: Array Default: []

Additional arguments to pass for the start of the webdriver

License

MIT © Julien Roche