如何在TestNG中执行数据参数化?

我们可以在 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,我们可以在运行时传递多个数据。