gulp-protractor-qa

Gulp Protractor QA warns you on the fly whether all element() selectors could be found or not within your AngularJS view files.

gulp-protractor-qa

Keeping end-to-end test up-to-date can be really painful. Gulp Protractor QA warns you on the fly whether all element() selectors could be found or not within your AngularJS view files.

Screencast

npm install --save-dev gulp-protractor-qa

var gulp = require('gulp');
var protractorQA = require('gulp-protractor-qa');

Registering the task

gulp.task('protractor-qa', function() {
    protractorQA.init({
        testSrc : 'test/e2e/**/*Spec.js',
        viewSrc : [ 'index.html', 'partials/*.html' ]
    });
});

Running it

gulp.task('default', ['protractor-qa']);

See final gulpfile.js example.

Type: String or Array Default: ""

Where the plugin should watch the changes in order to map all element() indexes.

Type: String or Array Default: ""

Where your AngularJS view files are located. Protractor QA will watch the changes in those files to verify if all element() selectors could be found.

Gulp-protractor-qa is currently watching the following element() selectors:

  • by.model();
  • by.binding();
  • by.css('[attr-name="attr-value"]');
  • by.repeater().

Help: I need to extend this list by adding more regex rules (see file). Interested to help? Fork the project and send a pull request! :)

  • 0.1.14 showing "<number> out of <total> element selectors are been watched" in the log;

  • 0.1.12 bug fix related to gaze version;

  • 0.1.10 testSrc and viewSrc now receive string or array value;

  • 0.1.07

    • Improved the error log showing in which file each wrong selector came from;
    • Improved the regex that find selectors by: by.css('[attr-name="attr-value"]');
  • 0.1.05

    • Mapping more element() selectors: by.css('[attr-name="attr-value"]') and by.binding();
    • Improve regex rules to support both: protractor.By and by.;
    • Other code improvements;
  • 0.1.0 Mapping just two element() selectors: by.model() and by.repeater().

MIT © Ramon Victor