๐: Could not update test case: test case with uuid" when using it in second or futher steps of cucumber scenario/background
bigkingkosta opened this issue ยท 1 comments
What happened?
Using methods Allure.descriptionHtml ,Allure.link or Allure.label in first step of a scenario or first step of the background in feature file works.
But using it in second and further steps the following error occurs;
[main] ERROR io.qameta.allure.AllureLifecycle - Could not update test case: test case with uuid
Logging the current testcase uuid (findUuidInString(Allure.getLifecycle().getCurrentTestCase().get()) shows that the uuid change from "Options[uuid]", to featureNameOptions[uuid]scenarioStepName.
Using workaround for ongoing that works:
a) Instead of using e.g. Allure.descriptionHtml I use:
code snipped(adapted from the Allure.descriptionHtml method):
if (Allure.getLifecycle().getCurrentTestCase().isPresent()) {
String currentUuid=findUuidInString(Allure.getLifecycle().getCurrentTestCase().get());
logger.debug("currentUuid :{}",currentUuid);
getLifecycle().updateTestCase(currentUuid, (execute) ->
execute.setDescriptionHtml(("\<p\>test\</p\>")));
}
b) via regular expression I extracted the uuid
public static String findUuidInString(String findString){
Matcher matcher = Pattern.compile( "[0-9a-f\\-]{8}-[0-9a-f\\-]{4}-[0-9a-f\\-]{4}-[0-9a-f\\-]{4}-[0-9a-f\\-]{12}" ).matcher( findString );
String match="";
while ( matcher.find() ) {
logger.debug("searchString : {} an Position [{},{}]",
matcher.group(),
matcher.start(), matcher.end());
match=matcher.group();
}
return match;
}
What Allure Integration are you using?
allure-cucumber7-jvm
What version of Allure Integration you are using?
2.25.0
What version of Allure Report you are using?
2.25.0
Code of Conduct
- I agree to follow this project's Code of Conduct