在Cucumber中访问方案和示例名称,可以使用以下方法:
@Before
注解标注的方法:在每个场景执行之前,使用@Before
注解标注的方法将被执行。在该方法中,可以通过Scenario
对象获取方案和示例名称。import io.cucumber.java.Before;
import io.cucumber.java.en.Given;
import io.cucumber.java.en.Then;
import io.cucumber.java.en.When;
public class StepDefinitions {
@Before
public void setUp(Scenario scenario) {
String scenarioName = scenario.getName();
String exampleName = scenario.getSourceTagNames().get(0);
System.out.println("Scenario Name: " + scenarioName);
System.out.println("Example Name: " + exampleName);
}
}
@ParameterType
注解定义参数类型:在步骤定义中,可以使用@ParameterType
注解定义参数类型,并在步骤中使用该参数类型。在该参数类型的定义中,可以通过Scenario
对象获取方案和示例名称。import io.cucumber.java.ParameterType;
import io.cucumber.java.en.Given;
import io.cucumber.java.en.Then;
import io.cucumber.java.en.When;
public class StepDefinitions {
@ParameterType(".*")
public String getExampleName(String value, Scenario scenario) {
String exampleName = scenario.getSourceTagNames().get(0);
System.out.println("Example Name: " + exampleName);
return value;
}
}
@After
注解标注的方法:在每个场景执行之后,使用@After
注解标注的方法将被执行。在该方法中,可以通过Scenario
对象获取方案和示例名称。import io.cucumber.java.After;
import io.cucumber.java.en.Given;
import io.cucumber.java.en.Then;
import io.cucumber.java.en.When;
public class StepDefinitions {
@After
public void tearDown(Scenario scenario) {
String scenarioName = scenario.getName();
String exampleName = scenario.getSourceTagNames().get(0);
System.out.println("Scenario Name: " + scenarioName);
System.out.println("Example Name: " + exampleName);
}
}
通过以上方法,可以在Cucumber中访问方案和示例名称。
领取专属 10元无门槛券
手把手带您无忧上云