1.0.10 • Published 10 years ago

grunt-ptor v1.0.10

Weekly downloads
1
License
-
Repository
github
Last release
10 years ago

grunt-ptor

build status npm version npm downloads dependency status devDependency status peerDependency status

Run Protractor e2e tests.

Motivation

Other plugins exist, but I just wanted something simple that passed the required options through to the Protractor command.

Getting Started

This plugin requires Grunt ~0.4.5.

If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

$ npm install grunt-ptor --save-dev

Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

grunt.loadNpmTasks('grunt-ptor');

Note that this plugin leaves the Selenium server management up to another tool. I use grunt-protractor-webdriver, which is then set up as a pre-requisite task to this plugin.

The "ptor" task

Overview

In your project's Gruntfile, add a section named ptor to the data object passed into grunt.initConfig().

grunt.initConfig({
  ptor: {
    options: {
      // Task-specific options go here.
    },
    your_target: {
      options: {
        // Target-specific options go here.
      }
    },
  },
});

Options

See the Protractor reference conf for the options you can use in both the Gruntfile and via the command line.

The order of precendence for options is: command line > target level > task level > Protractor conf file.

Example

grunt.initConfig({
  ptor: {
    options: {
      configFile: 'protractor.conf.js'
    },
    smoke: {
      options: {
        suites: 'smoke'
      }
    }
  }
});
$ grunt ptor --chromeOnly --params.login.user=Jane --params.login.password=1234

Tests

To run:

$ grunt test

Test notes

A child process is spawned within each test so we can execute the task from end to end. This makes method stubbing a little tricky since we are executing in a different process, so a couple of helper tasks are also used:

  • pre sets up any required stubs
  • post sends the required information back to the parent process.

This way we can test our expectations in the parent process.

1.0.10

10 years ago

1.0.9

10 years ago

1.0.8

10 years ago

1.0.7

11 years ago

1.0.6

11 years ago

1.0.5

11 years ago

1.0.4

11 years ago

1.0.3

11 years ago

1.0.2

11 years ago

1.0.1

11 years ago