仅执行场景大纲中的特定示例
Execute only specific examples in a Scenario Outline
我们希望在我们的 Java 测试自动化框架中使用 Cucumber 更好地管理测试数据。对于 Scenario Outline
,我们希望将测试参数制成表格,这些参数按它们 运行 所在的适用环境分类。
例如,
Scenario Outline: Login into application
Given I am on the homepage in the <environment>
When I enter my <user>
And I enter my <pass>
Then I am taken to the homepage
Examples:
|user |pass |environment|
|test |test1 |local |
|retest |retest1 |sit |
|prodtest|prodtest1|production |
因此,当上述场景在例如 SIT 环境中执行时,只会选取第二个示例,而不是第一个和第三个。
这种执行力能做到吗?
这不是场景大纲的设计目的。
您可以编写单独的场景,然后在每个场景上使用标签,然后您可以在 运行 时间传入您想要的标签 运行。
您可以通过将您的示例 table 分成两个并在它们上使用标签来完成此操作...然后 运行 使用要在 cucumberoptions 中过滤的标签进行测试。
@others
Examples:
|user |pass |environment|
|test |test1 |local |
|prodtest|prodtest1|production |
@sit
Examples:
|user |pass |environment|
|retest |retest1 |sit |
我们希望在我们的 Java 测试自动化框架中使用 Cucumber 更好地管理测试数据。对于 Scenario Outline
,我们希望将测试参数制成表格,这些参数按它们 运行 所在的适用环境分类。
例如,
Scenario Outline: Login into application
Given I am on the homepage in the <environment>
When I enter my <user>
And I enter my <pass>
Then I am taken to the homepage
Examples:
|user |pass |environment|
|test |test1 |local |
|retest |retest1 |sit |
|prodtest|prodtest1|production |
因此,当上述场景在例如 SIT 环境中执行时,只会选取第二个示例,而不是第一个和第三个。
这种执行力能做到吗?
这不是场景大纲的设计目的。 您可以编写单独的场景,然后在每个场景上使用标签,然后您可以在 运行 时间传入您想要的标签 运行。
您可以通过将您的示例 table 分成两个并在它们上使用标签来完成此操作...然后 运行 使用要在 cucumberoptions 中过滤的标签进行测试。
@others
Examples:
|user |pass |environment|
|test |test1 |local |
|prodtest|prodtest1|production |
@sit
Examples:
|user |pass |environment|
|retest |retest1 |sit |