这个问题与https://stackoverflow.com/questions/32434284/why-does-cucumber-run-before-in-all-glue-code-files有关--这是当时的解决方案:通过将“前面”的胶水与标记进行分组,然后将依赖的标记添加到特性文件中,解决了我的问题。
我有同样的问题,我想解决它,但不知道这个解决方案要我做什么。
有人有一个想法,并可以解释给我,或有一个例子,或链接?再见,乔晨
发布于 2021-09-14 17:49:00
@Before钩子的目的是在每个场景之前执行一组步骤。在这里,你可以用这种方式实现。
场景
@Regression
Scenario: Test the login functionality
Given launch url
And enter credentials
Then click on login先于Hook:现在您可以在@Before方法中添加一个条件来控制要执行的内容。
@Before
public void setup(Scenario scenario) {
if(scenario.getSourceTagNames().contains("@Regression")) {
//perform steps what you need.
}
}如果您想要设置多个条件,那么应该是这样的。
@Before
public void setup(Scenario scenario) {
Collection<String> scenarioTags = scenario.getSourceTagNames();
if(scenarioTags.contains("@Regression") || scenarioTags.contains("@Smoke")) {
//perform steps what you need.
}
}https://stackoverflow.com/questions/69174803
复制相似问题