问题标签 [feature-file]

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 投票
1 回答
4230 浏览

c# - 在 SpecFlow 中实现后台步骤的正确方法

我目前正在学习使用 SpecFlow,并想编写一个功能,其中包括注册用户的测试。

我有第一个测试用例,注册一个有效用户。这将涉及输入用户名、电子邮件、密码和确认密码。单击提交,用户应注册并添加到数据库。

我的下一个测试案例将是一个无效案例,我将执行上述步骤,然后尝试使用相同的用户名注册用户,这应该会返回错误。从我找到的示例中可以理解,我可以在 .feature 文件中使用“背景”来指定要在 .feature 文件中的每个场景之前执行的步骤。这将涉及在后台部分创建一个步骤来注册用户并调用在有效注册用户案例中创建的方法。这个问题对我有所帮助,但也为我提出了更多问题,因为我无法理解可用标签和挂钩的正确用法。

我的问题是:

  1. 有效的测试用例是否应该与其他场景在同一个文件中?如果该功能文件中的每个场景都调用了背景部分,那么它将导致有效测试失败(因为它本质上是有效的测试用例)
  2. 这是构建我的测试的正确方法吗?我已经阅读了可以使用 [BeforeScenario]/[AfterScenario] 等的 SpecFlow 挂钩,但我不确定何时应该在背景标签上考虑这些挂钩。
  3. 我觉得可以避免很多重复,例如仅将有效的测试用例引用为另一个测试中的一个步骤,而不是为它创建一个步骤以及一个测试用例,但也许这就是 SpecFlow 的方式应该工作,是吗?

到目前为止,对于这个测试用例,我的 .feature 文件中有以下内容。

我的步骤文件是这样的:

0 投票
0 回答
60 浏览

c# - 如何在开始之前获取要运行的功能文件的列表

当我运行 specflow 时,我会选择要测试的特定功能文件。我需要构建虚拟机才能运行我的测试,并且我只想构建测试所需的环境(并确保它可以动态更改)所以我需要知道(可能在 BeforeTestRun 钩子中)我如何获取列表要运行的选定功能。

谢谢。

编辑--------------- 流程是:我标记了一些我想测试的功能,2.我右键单击“运行选定的测试” 3.我希望能够拥有类似于:string[] featuresToRun = Specflow.GetFeaturesToTest();

0 投票
2 回答
5476 浏览

eclipse - 在 Eclipse 中运行黄瓜时出错 - 找不到或加载主类 cucumber.api.cli.Main

我正在尝试使用 Oxygen.1 运行一个 Maven 项目。我安装了黄瓜插件。但是当我运行默认功能文件时,我收到了一个错误Error: Could not find or load main class cucumber.api.cli.Main

请帮忙!

0 投票
2 回答
5226 浏览

protractor - 如何使用 Cucumber + protractor 依次运行多个特征文件

我想以所需的顺序或顺序运行功能文件,例如:

但是黄瓜场景首先被执行。有人可以指导我吗?

注意:Cucumber 是根据文件夹中特征文件的字母顺序执行场景

此外,在超过 50 个特征文件的情况下,定义黄瓜特征文件排序的最佳方法是什么?

0 投票
1 回答
27 浏览

junit - 需要有关我的四个功能文件的帮助如何运行多个功能文件?

这是我的代码

错误:

[src/testresources] 中的所有功能均不匹配过滤器:[@CreateNewCourse.Feature,@CreateNewUserAndEnrolledToaCourse.Feature,@LoginLockout.Feature,@LoginOnNismo.Feature,@StudentCarryoverAttempresults.Feature]

0 场景 0 步骤 0m0.000s

0 投票
2 回答
793 浏览

cucumber - 如何依次执行黄瓜特征文件并设置时间间隔

嗨,我有两个功能文件,想一个接一个地执行它们,并且在执行之间有一个特定的时间。有没有参数比如:我要执行第一个测试,等5分钟再执行下一个。

这样做的原因是。当我一次执行多个功能文件时,我在 saucelabs 上超时。我在 saucelabs 上只有一节课。似乎下一个功能文件没有等待,并在执行第一个文件时立即尝试启动。

0 投票
1 回答
470 浏览

automation - 错误: (0 , _cucumber.And) 不是函数

我尝试在其中使用“和”关键字,Cucumber但出现此错误。有人能告诉我这背后的原因吗?

在步骤定义中:

在特征文件中,它被用作:

当我运行测试用例时,我得到了这个错误:

0 投票
1 回答
278 浏览

python-2.7 - 萝卜测试框架

我是萝卜测试框架的新手,对使用功能文件执行测试的方式感到困惑。请澄清:我已经安装了萝卜模块(pip install radish-bdd)。还有其他步骤可以遵循吗?在示例中,它显示像“radishcalculator.feature”一样执行(示例例如)萝卜如何作为命令执行,而不是我将它作为目录“/usr/lib/python2.7/site-packages/radish”点安装后。

0 投票
2 回答
320 浏览

c# - Specflow 功能文件代码-数据定义 c#

我创建了一个具有多个功能的功能文件。在我的功能文件中,我的 Given 和 When 总是相同的,只有我的 then 不同,因为我正在测试不同的输出度量。是否值得只为我的 Given 和 When 提供一个代码,为我的 Then 提供一个代码来一次性验证所有输出度量。

如果这是可能的事情,我将如何去做?

示例

0 投票
3 回答
5952 浏览

selenium-webdriver - 如何在 Cucumber 中编写正确的功能文件

我正在尝试学习 BDD cucumber,并且正在尝试为具有有效和无效用户名的登录场景编写功能文件。对于有效用户将被记录并注销,但是对于无效用户名,用户将被要求再次进入登录页面并要求写入正确的凭据。

我想问一下,《情景大纲》中能有正反两面吗?你能帮我为这个简单的场景编写完美的功能文件吗?看看我的功能文件代码(PS,我是初学者:))