Есть ли способ задать глобальные параметры в TestNG?
В настоящее время я автоматизирую веб-приложение с помощью Selenium WebDriver framework вместе с TestNG. Я хочу предоставить параметры для каждого тестового класса в тестировании.xml-файл, но на веб-ресурсах я видел только подход, где определенные параметры предопределены для использования для отдельных классов, таких как:
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Parameterization Test Suite">
<test name="Testing Parameterization">
<parameter name="browser" value="Firefox"/>
<parameter name="username" value="testuser"/>
<parameter name="password" value="testpassword"/>
<classes>
<class name="com.parameterization.TestParameters" />
</classes>
</test>
</suite>
Где имя класса, ясно указывает только один класс TestParameters.
Есть ли способ установить некоторые параметры прямо там, как глобальные? Так что мы можем использовать их в любом тесте класс в рамках проекта?
1 ответ:
Я не совсем уверен, что понимаю ваш вопрос, но вы можете определить параметры на уровне набора (для каждого теста, в Примере
suite-param
) или на уровне теста:Как взято из https://howtodoinjava.com/testng/testng-test-parameters-through-testng-xml-and-parameters-annotation/
<suite name="Parameter test Suite" verbose="1"> <!-- This parameter will be passed to every test in this suite --> <parameter name="suite-param" value="suite level parameter" /> <test name="Parameter Test one"> <classes> <class name="com.howtodoinjava.test.ParameterTest"> <methods> <include name="prameterTestOne" /> </methods> </class> </classes> </test> <test name="Parameter Test two"> <!-- This parameter will be passed this test only --> <parameter name="test-two-param" value="Test two parameter" /> <classes> <class name="com.howtodoinjava.test.ParameterTest"> <methods> <include name="prameterTestTwo" /> </methods> </class> </classes> </test> <test name="Parameter Test three"> <!-- Overriding suite level parameter --> <parameter name="suite-param" value="overiding suite parameter" /> <!-- Test specific parameter --> <parameter name="test-three-param" value="test three parameter" /> <classes> <class name="com.howtodoinjava.test.ParameterTest"> <methods> <include name="prameterTestThree" /> </methods> </class> </classes> </test> </suite>