Знаю что параметры с Jenkins можно перечитаь с System.getenv(“parameterName”)(Java) в тесте. Но как же передать значение в testng.xml что бы сохранить в репорте отображение входящих параметров в тест.
testng.xml не поддерживает плейсхолдеры. Но в рантайме параметры засетить можно:
@BeforeClass
public void pushParameters(ITestContext context) {
context.getCurrentXmlTest().getXmlClasses().stream()
.forEach(testClass -> testClass.getIncludedMethods()
.forEach(testMethod -> testMethod.addParameter("param1", "value1")));
}
@Test
@Parameters({"param1"})
public void sampleOutputTest(String param) {
System.out.println("I'm a message from sampleOutputTest() -> " + param);
}
Тут важной является точка обращения к контексту. В @BeforeMethod переопределить контекст параметров метода не получится (физически возможность то есть, но они просто не будут видны через @Parameters). Придется подняться на уровень класса или теста.