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

Javascript 是否可以在同一场景中有条件地运行cucumber步骤?,javascript,selenium,selenium-webdriver,protractor,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 "logo

因此,基本上我希望能够使用相同的功能文件并运行两个单独的测试,一个用@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步骤,反之亦然。

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

在黄瓜中保持一步,如下所示:

When user clicks logout link
Then user will be logged out

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

使用一个
场景大纲
,放入两个
示例
表格并标记它们。使用筛选器中所需的标记来运行测试。您放入的标记将被运行,其他标记将被忽略

Scenario Outline: Steps will run conditionally if tagged
  Given user is logged in
  When user clicks <link>
  Then user will be logged out

@mobile
Examples: 
| link |
| logout link on mobile |

@desktop
Examples:
| link |
| logout link on desktop |
Scenario Outline:如果已标记,步骤将有条件地运行
给定用户已登录
当用户单击时
然后用户将被注销
@流动的
示例:
|链接|
|手机上的注销链接|
@桌面
示例:
|链接|
|桌面上的注销链接|

是的,这似乎是我想要实现的最可行的途径。我看看我能不能在台阶里面工作。