Javascript 是否可以在同一场景中有条件地运行cucumber步骤?
因此,基本上我希望能够使用相同的功能文件并运行两个单独的测试,一个用@mobile标记,另一个用@desktop标记。这样,我就不必在一个步骤中复制另一个功能文件 比如说: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
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:如果已标记,步骤将有条件地运行
给定用户已登录
当用户单击时
然后用户将被注销
@流动的
示例:
|链接|
|手机上的注销链接|
@桌面
示例:
|链接|
|桌面上的注销链接|
是的,这似乎是我想要实现的最可行的途径。我看看我能不能在台阶里面工作。