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? >
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.