gpt4 book ai didi

java - 在 Cucumber 中,是否可以以编程方式获取当前正在执行的步骤?

转载 作者:行者123 更新时间:2023-12-02 08:45:40 24 4
gpt4 key购买 nike

Scenario: As a user, I want to login to the system
Given I am on my website
When I enter valid credentials
Then I am taken to the home page

可以使用getName() 函数检索场景名称。有没有办法同时获取正在执行的步骤(在 Java 中)?我们预计它会在日志记录和报告中使用。

因此,对于上述场景,在执行相应的步骤定义时,将返回 I am on my website

最佳答案

我认为 CucumberWithSerenity 注册了一个存储当前步骤名称的监听器。

在您的测试运行器中尝试一下:

//import net.serenitybdd.cucumber.CucumberWithSerenity;
@RunWith(CucumberWithSerenity.class)
@CucumberOptions(...

然后在您的步骤中:

//import net.thucydides.core.model.TestStep;
//import net.thucydides.core.steps.StepEventBus;
if (!StepEventBus.getEventBus().isBaseStepListenerRegistered()) {
return "Unknown"; // CucumberWithSerenity is required.
}
String currentStepDescr = StepEventBus.getEventBus().getCurrentStep()
.transform(TestStep::getDescription)
.get();

依赖关系:

<dependency>
<groupId>net.serenity-bdd</groupId>
<artifactId>serenity-core</artifactId>
<version>${serenity.version}</version>
</dependency>

关于java - 在 Cucumber 中,是否可以以编程方式获取当前正在执行的步骤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39664422/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com