我们可以在 TestNG 中进行数据参数化。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("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,我们可以在运行时传递多个数据。