Как получить название сценария в java огурца?

Я хотел бы получить название сценария для создания значимых журналов и создания пользовательского отчета во время выполнения в java. Класс сценария имеет только методы getStatus() и getSourceTagNames(). Я не нашел способ получить имя сценария.

Может кто-нибудь помочь мне решить эту проблему?

Ответ 1

В дополнение к 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, попробуйте это, чтобы получить элементы Cucumber Feature и Scenario.