【发布时间】:2019-05-24 16:22:54
【问题描述】:
我想访问@before 钩子中的所有黄瓜场景步骤。有没有办法做到这一点?
我尝试在 before 钩子方法中传递黄瓜场景对象,但它只提供scenario.getName()、scenario.getId() 等基本信息。我需要的是getSteps() 之类的东西,它为我提供了该特定场景所有步骤的List<String>。
我要找的是这样的东西
@Before("@dev")
public void testcase(Scenario scenario){
for (Step a : scenario.getSteps()) {
System.out.println("scenario step = " + a.getText());
}
}
基本上我想要在测试执行本身开始时获得完整的场景信息。
如果我在 before 方法中传递类 cucumber.api.TestCase 的参数,那么我可以访问 getTestSteps() 方法,但这会导致以下异常。
cucumber.runtime.CucumberException: When a hook declares an argument it must be of type cucumber.api.Scenario. public void com.thermofisher.bid.spa.kingfisher.ui.steps.Hooks.poc(cucumber.api.TestCase)
【问题讨论】:
-
Scenario 类的全称是什么?
-
cucumber.api.Scenario.class
-
你试过
TestCase.getTestSteps吗? -
Cucumber 不会给你这个信息。 Serenity 可能有可用的信息,但获得它并非易事。你想解决什么问题?
-
我在这件事上是第二个约翰。如果是出于报告目的,请查看插件基础结构。
标签: java cucumber cucumber-jvm serenity-bdd cucumber-serenity