如何在TestNG中执行数据参数化?
我们可以在TestNG中进行数据参数化。TestNG中执行的参数化可以通过以下方式完成-
使用@Parameters注释进行数据参数化。
使用@DataProvider注释进行数据参数化。
示例
带有@Parameter注释的TestNGxml文件的代码实现。
<?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>
我们可以通过在TestNGxml文件中定义<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("url的值是: " + urlname);} }
Java类文件具有带有(“Url”)的@Parameters。
带有@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("这些值是: " + subject +”“+ lang); }
借助Java类文件中的@DataProvider,我们可以在运行时传递多个数据。