首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何配置量角器使用黄瓜

如何配置量角器使用黄瓜
EN

Stack Overflow用户
提问于 2014-05-21 14:09:30
回答 4查看 19.6K关注 0票数 11

对于0.20.1,Cucumber现在完全支持Protractor,但是我正在努力找到关于如何正确配置它的任何文档。你知道如何设置world.js吗?

我在https://github.com/whyvez/angular-cucumber-example/blob/master/features/support/world.coffee上找到了这个例子,但我不确定您是否还需要指定所有的需求模块和配置,因为量角器配置文件(referenceConf.js)已经包含了所有这些信息。

代码语言:javascript
运行
复制
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
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-09-14 18:17:50

我已经创建了一个示例项目,以演示如何配置与黄瓜和利用世界量角器。

“世界”是一个在不同场景之间共享共同点的地方,这样您就可以保持代码的组织性。

实际上,您所需要的只是在一个名为/support的文件夹中创建/features文件。你也会把你的钩子放在那里。其中的每个属性或函数在步骤定义中都是可用的。

world.js:

代码语言:javascript
运行
复制
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();
}

然后在你的台阶上:

代码语言:javascript
运行
复制
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配置文件如下所示:

代码语言:javascript
运行
复制
exports.config = {

  specs: [
    'e2e/features/*.feature'
  ],

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

  baseUrl: 'http://localhost:8081/',

  framework: 'cucumber',

};

这是GitHub存储库。

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

希望这能有所帮助。

票数 13
EN

Stack Overflow用户

发布于 2016-02-18 14:30:41

看看量角器-黄瓜 --它附带了selenium,支持承诺,并且有很好的文档记录。

它似乎需要最少的配置,所需要的是明确的文档。

票数 1
EN

Stack Overflow用户

发布于 2014-05-22 07:11:11

我从这个装置中得到了很好的里程

代码语言:javascript
运行
复制
  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词汇错误问题)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23785700

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档