如何在黄瓜java中获取场景名称?

2022-09-01 12:05:21

我想获取场景的名称,以便具有有意义的日志,并在运行时在Java中生成自定义报告。Scenario class 只有 getStatus() 和 getSourceTagNames() 方法。我找不到获取方案名称的方法。

有人可以帮我解决这个问题吗?


答案 1

从版本 1.6 开始,除了 和 之外,还有另一种方法返回方案的描述。例如,对于如下所示的方案:getStatus()getSourceTagNames()getName()

Scenario: verify number of topics shown in the UI

scenario.getName()返回"verify number of topics shown in the UI"

我@Before中初始化方案,如下所示:

@Before
public void before(Scenario scenario) {
    this.scenario = scenario;
}

希望这有帮助。


答案 2
String scenarioName = scenario.getName();
String[] arrayScenarioName = scenarioName.split("--");
String scenarioName1 = arrayScenarioName[0]; 
String scenarioName2 = arrayScenarioName[1]; 
System.out.println("Scenario Name 1 for this test is -> " + scenarioName1);
System.out.println("Scenario Name 2 for this test is -> " + scenarioName2);

String scenarioId = scenario.getId();
//Takes the Scenario ID and removes the ; and splits it into 2 strings
String scenarioId4 = scenarioId;
String[] parts = scenarioId4.split(";");
String part1 = parts[0]; 
String part2 = parts[1]; 
String part11 = part1.replace('-', ' ');
String part22 = part2.replace('-', ' ');
System.out.println("Scenario ID for this test is -> part11 " + part11);
System.out.println("Scenario ID for this test is -> part22 " + part22);

获得@Before设置后,请尝试此操作以检索黄瓜功能和方案项目。


推荐