可以通过以下方式在TestNG中执行参数化-
带有@Parameters批注的数据参数化。
@DataProvider批注进行数据参数化。
使用@Parameter注释的Testng xml文件。
<?xml version = "1.0" encoding = "UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > <suite name = "Nhooo Test"> <parameter name = "Url" value="https://www.tutorial.com"/> <test name = "Regression Cycle 1"> <classes> <class name = "TestParameter" /> </classes> </test> </suite>
通过在testng xml文件中定义<parameter>,我们可以在运行时将值传递给测试方法。
import org.testng.annotations.Parameters; import org.testng.annotations.Test; public class TestParameter { @Test @Parameters("Url") public void loginwithUrl(String urlname) { System.out.println("The value of url is : " + urlname);} }
Java类文件的@Parameters带有(“ Url”)。
带有@DataProvider批注。
@DataProvider(name = "QuestionSearch") public Object[][] quest_anssearch(){ return new Object[][]{ { “Nhooo” , “Java”}, { “Python” , “PyCharm”}, }; } @Test(dataProvider = "QuestionSearch ") public void userInput(String subject, String lang){ System.out.println("The values are : " + subject +”“+ lang); }
我们可以在运行时在Java类文件中通过@DataProvider传递多个数据。