问题标签 [cucumberjs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
585 浏览

javascript - Cucumber.js 和资源

我希望我不会为此感到厌烦——但我正在开始 Cucumber.js 和 javascript 测试,而我看到的教程/文档让我想要。

我在亚马逊上搜索过,但这些书似乎更适合 Ruby - 好奇这些书对于那些使用 cucumber.js 进行 javascript 的人来说是否仍然是丰富的积极信息?

黄瓜书:面向测试人员和开发人员的行为驱动开发

黄瓜食谱:使用 BDD 工具和技术自动化任何事情

速溶黄瓜 BDD 方法

0 投票
4 回答
19569 浏览

protractor - How to configure Protractor to use Cucumber

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 found this example at https://github.com/whyvez/angular-cucumber-example/blob/master/features/support/world.coffee but I'm not sure if you would still need to specify all the require modules and configuration as the protractor config file (referenceConf.js) would have all this info already.

0 投票
3 回答
4292 浏览

node.js - cucumberjs:查找步骤结果是否失败

任务

  • 使用 selenium、webdriver、cucumberjs 执行自动化验收测试。
  • 查找失败的验收测试场景并截取页面截图
  • 将其保存为 go 管道中的人工制品。

这就是我今天的任务。我已经完成了所有这些,包括编写场景测试、selenium 设置、go 管道以及其他所需的一切。

唯一的问题是 - 我无法弄清楚如何找到失败的场景步骤并截取页面的屏幕截图。

问题详细信息:我在步骤定义中放置了以下代码,该代码针对每个场景步骤运行

包含World浏览器启动方法。

而且,这是我正在测试的示例功能场景

问题在于上下文数据。我不知何故无法将scenario传递给 after/before 方法作为第一个参数。我尝试了 cucumberjs 源代码中给出的代码,但未能成功。因此,我开始添加该stepResult方法,该方法在每次完成一个步骤时运行。比较类似的做法。

根据文档,该isFailed()方法根据步骤结果返回一个布尔值。false但是,无论步骤失败或通过,我总是得到一个。我尝试了它的alter-ego ,它无论如何isSuccessful()都会返回a 。true

所以,

  1. 我在这里可能做错了什么?
  2. 我如何实际将场景传递给 after() 方法?

我对 TDD 比较陌生,但是到目前为止,这是一次很棒的经历。

0 投票
3 回答
1398 浏览

javascript - 在 Cucumber.js 中是否可以列出所有可用的步骤?

其他版本的黄瓜,可以转储所有步骤的列表。然而,这在 javascript 中不受支持。例如:

如果您可以访问 World 对象或 Cucumber,我认为可能有一种方法可以列出 Cucumber 用于解析 .feature 文件的所有正则表达式/函数。有谁知道可以为我指明正确方向的 javascript 版本的内部工作原理?

0 投票
2 回答
253 浏览

knockout.js - 我可以在 Cucumberjs 上测试 KnockOut ViewModel

我已经定义了以下功能

并使用 CucumberJs 生成步骤定义,如下所示:

但我没有找到一种方法来为我的可观察视图模型创建一个实例来在那里测试它

我试图加载淘汰赛并加载我的视图模型后:

ko 工作,但 ShopCart 返回{}

如何为 ViewModel内部 CucumberJs 步骤定义创建实例?

0 投票
1 回答
1099 浏览

javascript - 挂钩后关闭窗口但不会为下一个场景重新打开

我正在使用 webdriverJS 编写一些黄瓜测试。我正在尝试在每个场景之后使用后挂钩来关闭浏览器窗口。问题是,窗口将关闭但不会重新打开。我得到的错误是它无法“找到”一个窗口。任何帮助或见解将不胜感激。

这是我的 .feature 文件

这是我的 hooks.js 文件

这是 .js 文件的前几行

0 投票
2 回答
1259 浏览

javascript - 使用 ZombieJS 的 Cucumber.js 场景中的回调问题

我对 Cucumber 和 Lettuce 等 BDD 工具有一些经验。我目前正在构建一个 Phonegap 应用程序,我想开始使用 Cucumber.js 为其创建验收测试。不幸的是,我遇到了一些问题。

这是我整理的基本功能文件:

这是我的world.js

这是我的步骤定义:

我设置了一个 Grunt 任务,它首先在端口 9001 上运行连接服务器,然后运行 ​​Cucumber 场景。Cucumber.js的文档暗示这应该可以工作,但在第二步中失败了。

这是我收到的错误消息:

如果我callback();在第二步的主体之后插入,它就会通过。我不确定发生了什么事。为什么这个场景会失败?该应用程序本身按预期工作。似乎第二步的回调永远不会触发。

0 投票
1 回答
2051 浏览

node.js - How to use "And" in a Gherkin using cucumber.js

I am trying to use Cucumber.JS to do my automated testing. If I do the following...

Everything works, however, if I do the following using And

I get

TypeError: Object # has no method 'And'

So what is the proper way to do this (Without saying you should be using when anyway because I have other scenarios that are not so simple)

0 投票
0 回答
172 浏览

testing - 用流星黄瓜测试流星服务器端代码

我已经成功地编写了功能并实现了使用流星黄瓜进行客户端测试的步骤,但我不知道如何实现服务器代码。

在应用程序中有一个批处理过程,Meteor.startup它每分钟启动并运行一次。它执行一个不能从客户端访问的函数,因此无法在测试用例中触发它。

我的问题:如何在何时执行的功能实现中启动代码Meteor.isServer == true

0 投票
1 回答
1137 浏览

angularjs - Protractor / Cucumber / RequireJs No element found using locator error

我有一个使用 requireJs 的 AngularJs 应用程序,因此它使用了引导应用程序的延迟方法。我正在尝试使用量角器及其内置黄瓜支持的组合对此进行测试。

我可以从这里的量角器 github 页面运行黄瓜测试,并且测试通过了。当我尝试添加测试来测试页面上存在的 html 元素时,它会说“没有使用定位器找到元素”,我是否尝试通过绑定或 css 选择器来定位它。

我想知道这是否是使用技术组合的问题,因为在我将黄瓜引入这种情况之前,我一直没有使用带量角器的延迟引导程序。有没有其他人有过一起使用 require/protractor/cucumber 的经验?