如何在 Gherkin 中实现“if”

2024-02-26

我正在尝试将 Selenium 测试转换为 Gherkin。有没有办法在 Gherkin 中实现 if 语句?

示例:假设代码按以下格式编写。我只是写如下描述。请理解双斜杠后面的部分是实际的 Selenium 代码:

// launch the application 
// login to application
// navigate to page
String str;
if(str== "XYZ")
{
    // verify title
}
//verify text field 1
//verify test field 2
//verify select box

为此,我尝试在 Gherkin 中编写代码,如下所示

Given user launches the application
When user login with valid credentials
and navigate to required page
When String str is "XYZ"
Then verify title
And verify text field 1
And verify test field 2
And verify select box

但此代码不正确,因为如果 str 不等于“XYZ”,我们希望不应验证标题,但应验证文本字段 1,2 和选择框等其他验证。


你不用在 Gherkin 中实现 if 。

Gherkin 是关于沟通的,而那些你想与之沟通的人,非编码人员,不知道 if 语句是什么。他们也不关心。

解决方案?两种情况涵盖这两种情况。

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

如何在 Gherkin 中实现“if” 的相关文章

随机推荐

  • CSS 中是否可以使用表示行的元素来构建网格?

    我正在尝试使用 HTML CSS 为现代浏览器复制此设计 它本质上是一个包含行和列的表格 这意味着如果一行的名称单元格变大 那么所有行的名称单元格都应该变大 我看到两种可能性 表格和 CSS 网格 据我所知 表格中的行的样式不够 例如它们不
  • .Net框架中是否有系统错误代码的枚举?

    我有一个返回 GetLastError 代码的库函数 像这样的事情 http msdn microsoft com en us library ms681381 28v vs 85 29 aspx 我需要将它们与特定错误进行比较 例如ERR
  • 在unix中查找两个字符串的最长公共子串的shell命令是什么?

    在unix中查找两个字符串的最长公共子串的shell命令是什么 例如 foo abcdefghi abjklmdefnop 打印 def 我不确定是否有一个命令可以为您完成这项工作 但以下 bash 脚本应该可以完成这项工作 bin bas
  • 动态加载图像到div中

    我有一个个人资料图像列表 这些图像出现在 菜单下拉 div 中 该 div 最初通过 CSS 隐藏 我想在选择每个菜单项时动态加载这些图像 作为列表 以减少页面加载时间 这怎么可能 尝试使用 divID html img src path
  • GDB 如何处理大(>1 Gb)调试文件?

    我在使用远程 GDB 会话调试 C 应用程序时遇到问题 代码库很大 因此它包含 当使用 O2 g DNDEBUG 标志编译时 一个包含调试信息的大文件 1 1 Gb 不幸的是 我不能在调试期间只使用部分符号表 因为调试器始终会跳过应用程序的
  • for循环中的倒数

    我相信 根据一些研究阅读 for 循环中的倒计时实际上在运行时更高效 更快 我的完整软件代码是 C 我目前有这个 for i 0 i
  • 在 R 中使用 strsplit(),忽略括号中的任何内容

    我正在尝试使用strsplit 在 R 中根据逗号将字符串分成几部分 但我不想在括号中拆分任何内容 我认为答案是正则表达式 但我正在努力使代码正确 例如 x lt This is it isn t it well yes gt strspl
  • AngularJS 控制器和“严格使用”

    我最近开始使用 JSHint 它要求我使用 use strict 的函数形式 从那时起 AngularJS 就会抛出错误 错误 参数 webAddressController 不是函数 未定义 当我删除 use strict 的函数形式时
  • 从协议扩展调用选择器

    我正在构建简单的主题引擎 并且希望有一个扩展 可以添加UISwipeGestureRecognizer to UIViewController 这是我的代码 protocol Themeable func themeDidUpdate cu
  • 如何在flutter中读取XML文件?

    我正在尝试读取 flutter 中的 XML 文件 但每次我尝试读取该文件时 它只会引发错误 这是我读取 xml 文件的地方 我的 XML 文件很大 convertXMLtoJSON async File file File assets
  • 如何在 MVVM 中绑定到 PasswordBox

    我遇到了绑定到的问题PasswordBox 这似乎是一个安全风险 但我正在使用 MVVM 模式 所以我希望绕过这个 我在这里发现了一些有趣的代码 有人使用过这个或类似的东西吗 http www wpftutorial net Passwor
  • 为什么ItemTouchHelper.Callback的onChildDraw会在clearView之后被调用

    问题是我想在 RecyclerView 中拖动该项目时对其执行提升 根据文档所述 我应该在以下位置自定义拖动视图的行为ItemTouchHelper Callback onChildDraw https developer android
  • Typescript - 当传入多个键值时缩小函数中的 T[K]

    我正在尝试编写一个钩子 它接受对象的多个键并根据当前应用的过滤器过滤数据 所以 大致如下 interface IFilterable
  • 具有可变行高的 SWT 表:适用于 Linux,但不适用于 Mac/Windows

    问题 我需要一个具有可变行高的 SWT 表 JFace TableViewer 事实上 我在我的开发机器上解决了这个问题 运行 Ubuntu 10 10 不幸的是 这在 Windows 和 Mac 上都不起作用 最初 我以为我没有正确使用这
  • 在一行中多次递增 MATLAB 数组的一个值

    这是一个关于在同一语句中多次递增 MATLAB 数组的一个值而无需使用 for 循环的问题 我将数组设置为 gt gt A 10 20 30 然后运行 gt gt A 1 1 A 1 1 20 3 A 13 20 30 显然 20 被忽略了
  • ASP.NET Web Api 在应该返回 404 时返回 200 OK

    我在 ASP NET Web API 项目中的控制器上有以下操作方法 Route api v2 project projectId stuff HttpGet public IHttpActionResult Get int project
  • Android 的大堆选项适用于升级到 ICS 的旧手机吗?

    我自己也有一台 Galaxy Nexus 而且我知道android largeHeap true 清单选项适用于这款手机 但我想知道它是否适用于正在升级到冰淇淋三明治的旧手机 即三星 Nexus S 我之所以问这个问题 是因为我构建了一个大
  • if(!isset($_POST["user"]) 被忽略并返回未定义索引

    当我输出这段代码时 23 if isset POST user 24 user POST user 25 user2 user 26 pass 0 POST password 27 pass 1 POST password2 28 emai
  • 模块导出是否每次导入时都会创建一个新实例[重复]

    这个问题在这里已经有答案了 src utils http js import axios from axios const axiosInstance axios create baseURL process env VUE APP API
  • 如何在 Gherkin 中实现“if”

    我正在尝试将 Selenium 测试转换为 Gherkin 有没有办法在 Gherkin 中实现 if 语句 示例 假设代码按以下格式编写 我只是写如下描述 请理解双斜杠后面的部分是实际的 Selenium 代码 launch the ap