对于0.20.1,Cucumber现在完全支持Protractor,但是我正在努力找到关于如何正确配置它的任何文档。你知道如何设置world.js吗?
我在https://github.com/whyvez/angular-cucumber-example/blob/master/features/support/world.coffee上找到了这个例子,但我不确定您是否还需要指定所有的需求模块和配置,因为量角器配置文件(referenceConf.js)已经包含了所有这些信息。
assert = require 'assert'
path = require 'path'
protractor = require 'protractor'
webdriver = require 'selenium-webdriver'
driver = new webdriver.Builder().
usingServer('http://localhost:4444/wd/hub').
withCapabilities(webdriver.Capabilities.chrome()).
build()
driver.manage().timeouts().setScriptTimeout(100000)
ptor = protractor.wrapDriver driver
class World
constructor: (callback) ->
@browser = ptor
@By = protractor.By
@assert = assert
callback()
module.exports.World = World
发布于 2014-09-14 10:17:50
我已经创建了一个示例项目,以演示如何配置与黄瓜和利用世界量角器。
“世界”是一个在不同场景之间共享共同点的地方,这样您就可以保持代码的组织性。
实际上,您所需要的只是在一个名为/support的文件夹中创建/features文件。你也会把你的钩子放在那里。其中的每个属性或函数在步骤定义中都是可用的。
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();
}
然后在你的台阶上:
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;
您的protractor.js配置文件如下所示:
exports.config = {
specs: [
'e2e/features/*.feature'
],
capabilities: {
'browserName': 'chrome'
},
baseUrl: 'http://localhost:8081/',
framework: 'cucumber',
};
这是GitHub存储库。
https://github.com/plopcas/st-protractor-cucumber
希望这能有所帮助。
发布于 2016-02-18 06:30:41
看看量角器-黄瓜 --它附带了selenium,支持承诺,并且有很好的文档记录。
它似乎需要最少的配置,所需要的是明确的文档。
发布于 2014-05-21 23:11:11
我从这个装置中得到了很好的里程
class ChtWorld
chai = require('chai');
chaiAsPromised = require('chai-as-promised');
constructor: ->
@browser = @protractor = require('protractor').getInstance()
@By = @protractor.By
chai.use(chaiAsPromised)
@expect= chai.expect
module.exports= ->
this.World= (callback) ->
w = new ChtWorld()
callback(w)
由于量角器已经设置好了,只需要引用它就足够了(请注意,要正确加载新世界,modules.exports必须是正确的)。
顺便提一句,它位于功能/support/world.咖啡中,没有明确地添加到“requires”列表中(尝试这样做会使我陷入Gherkin词汇错误问题)。
https://stackoverflow.com/questions/23785700
复制相似问题