Durgesh
Durgesh

Reputation: 595

How to run particular protractor test case from command prompt

I am successfully able to run the protractor scripts. Below is the protractor.config.js file which I am using to run the protractor scripts.

var Jasmine2Reporter = require('protractor-jasmine2-screenshot-reporter');
var HtmlReporter = require('protractor-html-screenshot-reporter');

var jReporter=new Jasmine2Reporter({
    dest: './protractor-result', 
    fileName:    'protractor-demo-tests-report.html'
});

var reporter=new HtmlReporter({
    baseDirectory: './protractor-result', // a location to store screen shots.
    docTitle: 'Protractor Demo Reporter',
    docName:    'protractor-demo-tests-report.html'
});

exports.config = {
  allScriptsTimeout: 11000,

  specs: [
    'testCaseOne.spec.js'   // Hardcoded to run single script.
    '*.spec.js'            // to run all scripts.

  ],

  capabilities: {
    'browserName': 'chrome'
  },

 baseUrl: 'http://localhost:8000/app/',

  framework: 'jasmine2',

};

I am successfully able to run the protractor scripts. Below is the protractor.config.js file which I am using to run the protractor scripts To run above file, I used below command.

$ npm run protractor

My Expectation: Now, I would like to run the single protractor script from command prompt. How this can be achieved? This will be useful when I will try to run the protractor test cases from any test management tool.

Can anyone please help me on this.

Upvotes: 7

Views: 21468

Answers (3)

Igor Shubovych
Igor Shubovych

Reputation: 2820

Additionally to the given answers, you can use suites, which are sets of specs:

You can have suites which consist only of one spec. You can run particular spec like this:

protractor --suite=my-suite-name

Also you can temporarily exclude suite or spec in Jasmine using xdescribe and xit (just type x before describe or it).

Also you can focus on particular suite or spec in Jasmin using fdescribe and fit (just type f before describe or it).

Upvotes: 12

mschoe
mschoe

Reputation: 314

Use the node.js process.env object.

    var w00t = process.env.TESTED || '*';

    exports.config = {
     allScriptsTimeout: 11000,

     specs: [
      w00t + '.spec.js'
     ],

Prepend TESTED=testCaseOn when you start protractor to execute the desired spec. To execute all scripts add nothing so that *.spec.js will be called.

Upvotes: 1

Andres D
Andres D

Reputation: 8900

Try this:

protractor protractor.conf.js --specs='specs/run-just-this-spec.js'

If you want to run a specific test you need use jasmine2 and pass the grep option. https://github.com/angular/protractor/blob/19139272d190dd9c1888d9c3fc2f480f7c6c8edb/docs/jasmine-upgrade.md

Upvotes: 12

Related Questions