How to configure Protractor to use Cucumber

后端 未结 4 1586
别那么骄傲
别那么骄傲 2021-02-20 03:30

As of 0.20.1 Cucumber is now fully supported in Protractor but I\'m battling to find any documentation on how to configure it properly. Any idea how you would setup world.js?

4条回答
  •  情歌与酒
    2021-02-20 04:08

    I have created a sample project to show how to configure Protractor with Cucumber and make use of the World.

    The World is a place to share commonalities between different scenarios so that you can keep you code organised.

    Actually, all you need is to create your world.js file in a folder called /support under /features. You would place there your hooks as well. Every property or function there will be available in your step definitions.

    world.js:

    module.exports = function() {
    
      this.World = function World(callback) {
        this.prop = "Hello from the World!";
    
        this.greetings = function(name, callback) {
          console.log("\n----Hello " + name);
          callback();
        };
    
        callback();
    }
    

    And then in your steps:

    var sampleSteps = function() {
    
        this.Given(/^this is the first sample$/, function (callback) {
          console.log("\n----" + this.prop);
          callback();
        });
    
        this.Given(/^this is the second sample$/, function (callback) {
          this.greetings("everybody", callback);
        });
    
    };
    
    module.exports = sampleSteps;
    

    Your protractor.js configuration file would look something like this:

    exports.config = {
    
      specs: [
        'e2e/features/*.feature'
      ],
    
      capabilities: {
        'browserName': 'chrome'
      },
    
      baseUrl: 'http://localhost:8081/',
    
      framework: 'cucumber',
    
    };
    

    This the GitHub repository.

    https://github.com/plopcas/st-protractor-cucumber

    Hope this helps.

提交回复
热议问题