Gherkin/Cucumber 是否有“foreach”或等效语法?

2024-02-29

小黄瓜是否有等效的“对于每个”声明?在以下场景中,我正在测试的页面有多个日期字段,我想在这些字段上运行相同的测试示例。

这是我想要建模的场景。

场景大纲:修改日期控件的精度值

Given I have just added a record

 When I select <precision>

  And I select <value>

 Then <date> displays in the <date type> field

例子:

  | date type | precision | value           | date                     |

  | Date 1    | Unknown   | N/A             | "Unknown"                | 

  | Date 1    | Year      | <current year>  | <current year>           |

  | Date 1    | Month     | <current month> | <current month, year>    |

  | Date 1    | Day       | <current day>   | <current month/day/year> | 

  | Date 2    | Unknown   | N/A             | "Unknown"                | 

  | Date 2    | Year      | <current year>  | <current year>           | 

  | Date 2    | Month     | <current month> | <current month, year>    | 

  | Date 2    | Day       | <current day>   | <current month/day/year> | 

假设同一页面上有5个日期类型字段。似乎没有必要在表中复制/粘贴 12 行以上来覆盖日期 3 - 日期 5。这就是为什么我想知道是否有一个“foreach”等效项,以便我可以为每个日期类型执行相同的示例,而无需必须在示例表中明确表明这一点。或者也许我可以用不同的方式来构建场景?

感谢您提供的任何帮助!


不,黄瓜的设计并没有考虑到循环。 Cucumber 的范围是允许从用户的角度定义应用程序的期望。而且由于真正的用户不会“循环”,因此在 Cucumber 中实现它是没有意义的。

从编程角度来说,可以做的是编写一个程序,为应用程序中的每个组合生成相同的黄瓜脚本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Gherkin/Cucumber 是否有“foreach”或等效语法? 的相关文章

  • 黄瓜嵌入的屏幕截图不链接到屏幕截图

    从 Cukes Google Group 交叉发布 我尝试过多种保存截图的方法 但最终选择了 watir webdriver 中内置的方法 不 无论我使用哪种方法 我都无法成功嵌入 Cucumber HTML 报告中此图像的链接 在 c r
  • 在 Gherkin 中使用正确的语法

    查找有关 Gherkin 的文档似乎非常困难 所以我想知道是否有一种方法可以增强步骤定义以使测试人员能够使用正确的语法 有一个例子可以说明我的意思 Testing Then I see there is 1 item More testin
  • 我收到错误:执行量角器时找不到模块“黄瓜”

    我找到了一些描述设置步骤的帖子 但是当我按照它们操作时 我收到一个错误 找不到模块 黄瓜 我全局安装了黄瓜和量角器以及量角器 黄瓜 并且可以单独执行它们 但在尝试使用黄瓜框架执行量角器时则不能 我使用的配置文件如下 var env requ
  • Promise 链与 Promise.all

    我的任务是使用量角器输入通知日期 我需要在输入之前清除内容 所以我想出了这个代码 this Then I should enter Notification Date gt const d new Date return orderChec
  • 如何将 Spring 集成到 Cucumber 中

    我目前正在尝试将 Spring 集成到我的 Cucumber 测试中 我有一个自定义 SpringFactory 如下所示 http www zsoltfabok com blog 2012 01 cucumber jvm di http
  • iOS 模拟器 - 以编程方式禁用连接硬件键盘

    我正在编写依赖于显示软件键盘的 UITests 由于 CI 每次都会在全新的模拟器上启动测试 该模拟器已连接硬件键盘 因此不会提供软件键盘 是否可以设置一些设置 可能在架构中 以强制禁用模拟器连接硬件键盘 我正在使用 Cucumber ap
  • 使用 Cucumber JVM 运行测试时出现 UndefinedStepException

    我使用 Cucumber Junit Appium 开发移动应用程序的测试 当我尝试使用 Cucumber 和 JUnit runner 运行测试时 我收到 io cucumber junit UndefinedStepException
  • 水豚在我的电脑中打开一个html文件

    我的电脑中有一个 html 文件 我想使用 Capybara 打开该文件来测试它 你能帮我解决这个问题吗 P S 该 html 文件是在我的应用程序中自动创建的 我非常感谢任何帮助我解决这个问题的想法 谢谢 UPDATE 基于水豚源码her
  • RSpec 场景概要:多个测试用例

    使用 RSpec 测试一堆不同测试用例的最佳方法是什么 例如 给定字符串添加 rb https gist github com 899520 require rspec class String if method defined reve
  • 是否可以将小黄瓜步骤写在多行上?

    我是小黄瓜语言的新手 在我看来这似乎是非常基本的问题 但我找不到答案 我知道可以在 Gherkin 中编写多行步骤参数 如下所示 Given a blog post named Random with Markdown body Some
  • 用法:java cucumber.api.cli.Main [选项] [ [FILE|DIR][:LINE[:LINE]*] ]+

    我在运行功能文件时收到此错误 Usage java cucumber options FILE DIR LINE LINE Options g glue PATH Where glue code step definitions and h
  • 黄瓜无法加载 2.1/gherkin_lexer_en

    每当我运行黄瓜功能时 我都会收到以下错误 但是 该脚本工作正常 但每次执行功能文件时都会出现此警告消息 这里有什么问题吗 C Automation PickLists Activities 2 RemoveActivity gt cucum
  • 极长工作流程的 Cucumber 场景

    我们需要为一个功能测试一个漫长的步骤过程 从登录到许多模式对话框 多步骤表单以及不同角色的用户都在交互 我们如何将这个过程的各个部分分解为单独的场景 这是一个例子 Scenario New Manuscript Given I am on
  • 使用水豚测试黄瓜中的饼干

    作为网站集成测试的一部分 我将黄瓜与水豚一起使用 水豚似乎无法模拟cookie的使用 例如 我在用户登录时设置 cookie def sign in user cookies permanent signed remember token
  • 将 webmock 与黄瓜一起使用

    我正在使用 webmock 但它不适用于黄瓜测试 在我的 Gemfile 中 gem vcr gem webmock 在我的 features support env rb 中 我有 require webmock cucumber Web
  • 是否可以从 Cucumber 功能文件中传递 Java-Enum 作为参数

    我目前正在将selenium与Java一起使用 并希望实现cucumber以使测试脚本更具可读性 目前在将参数传递给 java 方法时面临问题 其中 Enum 应该作为参数 我还想知道在迁移当前框架之前 cucumber java 是否还有
  • 下载位置 Selenium-webdriver Cucumber Chrome

    我正在使用 Cucumber 和 Ruby 当通过 Selenium Webdriver 在 Chrome 中运行测试时 我想将下载位置更改为测试文件夹而不是用户下载文件夹 我当前的 chrome 驱动程序设置如下 Capybara def
  • 未定义,当从 Selenium 触发时,Chrome 通知中未定义

    我正在致力于自动化一个用 Python 编写的网站 并使用 Angular 其中有很多确认通知 我遇到的问题是 Behat 似乎无法识别这些通知 更不用说允许我与它们交互了 我附上了通知的屏幕截图 以及 Behat 生成的 未定义 未定义
  • 您可以在 Cucumber 的 Give、When 和 Then 步骤定义期间定义实例变量吗

    我知道使用 Cucumber 您可以在给定步骤定义期间定义实例变量 该实例变量成为World范围 然后 您可以在 When 和 Then 的步骤定义期间访问此实例变量 您是否也可以在 When 和 Then 步骤定义期间定义实例变量 并在后
  • 如何在 Capybara 中 POST 到 URL?

    刚刚从 Cucumber Webrat 切换到 Cucumber Capybara 我想知道如何将内容 POST 到 Capybara 中的 URL 在 Cucumber Webrat 中我能够执行以下步骤 When I send to d

随机推荐