javascript - 是否可以在同一场景中有条件地运行 cucumber 步骤?

标签 javascript selenium selenium-webdriver protractor cucumber

所以基本上我希望能够使用相同的功能文件并运行两个单独的测试,一个用@mobile标记,另一个用@desktop标记。这样我就不必为一个步骤复制另一个功能文件。

所以像这样:

Scenario: Steps will run conditionally if tagged
  Given user is logged in
  @mobile
  When user clicks "logout link on mobile"
  @desktop
  When user clicks "logout link on desktop"
  Then user will be logged out

当我运行移动测试时(我将在配置文件中包含@~desktop),我希望它忽略@desktop步骤,反之亦然。

最佳答案

对于这种情况,您还可以尝试另一种方法 -

在 Cucumber 中保留一个步骤,如下所示:

When user clicks logout link
Then user will be logged out

在此步骤的代码中,添加一个 if 条件,您可以根据从配置文件传递的标志来调用移动或桌面相关的函数?

关于javascript - 是否可以在同一场景中有条件地运行 cucumber 步骤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41273085/

相关文章:

JavaScript 插件对函数复杂性和函数长度的误报

javascript - 如何使用 JQ 删除/重置外部 css 样式?

php - 隐藏 DIV 中的表单域

Python Selenium通过导入text/csv文件运行多个测试实例

C# Selenium : passing a variable into XPath

c# - 错误: Caught exception [ERROR: Unsupported command [addSelection |]

ruby - Selenium Web 驱动程序 Ruby - 元素不可见异常

javascript - 动态 JQuery 表单提交多个表单

python - 如何让我的 python webdriver 刷新页面,直到出现下拉菜单并包含我需要选择的选项?

java - 将所有对象放在 xml 文件中的一个位置或创建每个类的最佳方法是什么?