- В Jenkins идем в настройки Джоба и выставляем \»This build is parameterized\»
- Называем параметр \»additionalScreens\» например
- В ant.xml проставляем
<property name=\"additionalScreens\" value=\"\"/>
- В ant.xml в таргете не забываем передать этот параметр в TestNG:
<target name=\"Test.Real\" depends=\"compile\">
<testng outputdir=\"${testdir}\" classpathref=\"all.classpath\" haltOnFailure=\"true\" testnames=\"Buy\">
<xmlfileset dir=\"${basedir}\" includes=\"${testngxml}\"/>
<jvmarg value=\"-DadditionalScreens=${additionalScreens}\" />
</testng>
</target>
- В TestNG.xml параметр никак не фигурирует, там просто вызывается тест:
<test verbose=\"1\" name=\"Buy\" annotations=\"JDK\">
<classes>
<class name=\"TestNG.Buy\">
<methods>
<include name=\"shop\"/>
<include name=\"Scan\"/>
<include name=\"Buy\"/>
</methods>
</class>
</classes>
</test>
- В методе @BeforeClass принимаем параметр и дальше работаем с ним как хотим:
@Parameters({ \"additionalScreens\" })
@BeforeClass
public void prepare(String additionalScreens, ITestContext context) throws Exception {
context.setAttribute(\"additionalScreens\", additionalScreens);
//......
}
- Запускаем Джоб в Дженкинсе и заполняем или выбираем параметр \»additionalScreens\» — он передается в тест. Это может быть, например, урл сервера, или тип проверки, и т.д.
Не благодари!