个性化阅读
专注于IT技术分析

TestNG注解属性用法示例

TestNG参数是我们传递给测试方法的参数。我们可以通过两种方式将参数传递给测试方法:

  • TestNG参数
  • TestNG数据提供者

在本主题中, 我们将学习TestNG参数。我们将在xml文件中了解参数化。

假设我们要设置全局变量, 例如url设置, 用户名, 密码或API密钥, 那么在所有测试用例中都有一些恒定的值, 在这种情况下, 我们使用TestNG参数。

TestNG参数存在于xml文件中。它们可以应用于标签内或标签内。如果我们想将参数应用于所有测试用例, 则将参数应用于标签内。如果参数特定于特定文件夹, 则该参数将应用于标签中。

让我们通过一个例子来理解。

第一种情况:在标签下方应用参数时。

步骤1:打开Eclipse。

步骤2:我们创建三个类文件, 即Sum.java, Subtract.java和Multiply.java。

Sum.java

package com.srcmini;
import org.testng.annotations.Test;
import org.testng.annotations.Parameters;
public class Sum 
{
@Test
@Parameters({"a", "b"})
public void add(int c, int d)
{
int sum=c+d;
System.out.println("Sum of two numbers : "+sum);
}
}

Subtract.java

package com.srcmini;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class Subtract 
{
@Test
@Parameters({"a", "b"})
public void add(int c, int d)
{
int subtract=c-d;
System.out.println("Subtraction of two numbers : "+subtract);
}
}

Multiply.java

package com.srcmini;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class Multiply 
{
@Test
@Parameters({"a", "b"})
public void add(int c, int d)
{
int mul=c*d;
System.out.println("Multiplication of two numbers : "+mul);
}
}

步骤3:现在, 我们创建testng.xml文件。

testng.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<parameter name="a" value="5"/>
<parameter name="b" value="3"/>
<test name="Sum"> 
  <classes>
  <class name= "com.srcmini.Sum"/>
  </classes>
  </test> <!-- Test -->
  <test name="Subtract">
  <classes>
  <class name="com.srcmini.Subtract"/>
  </classes>
  </test>
  <test name="Multiply">
  <classes>
  <class name="com.srcmini.Multiply"/>
  </classes>
  </test>
</suite> <!-- Suite -->

在上面的testng.xml文件中, 我们将有效的参数传递给所有类。

步骤4:运行testng.xml文件。

输出

TestNG参数

第二种情况:参数是特定的。

步骤1:打开Eclipse。

步骤2:我们创建两个类文件。即Fruits.java和Vegetable.java。

Fruits.java

package com.srcmini;
import org.testng.annotations.Test;
import org.testng.annotations.Parameters;
public class Fruits 
{
@Test
@Parameters("mango")
public void mango(String m)
{
System.out.println("Fruits names are:  ");
System.out.println(m);
}
@Test
@Parameters("orange")
public void orange(String o)
{
System.out.println(o);
}
}

Vegetable.java

package com.srcmini;
import org.testng.annotations.Test;
import org.testng.annotations.Parameters;
public class Vegetable 
{
@Test
@Parameters("Cauliflower")
public void c(String m)
{
System.out.println("Vegetable names are :");
System.out.println(m);
}
@Test
@Parameters("Ladyfinger")
public void orange(String l)
{
System.out.println(l);
}
}

步骤3:现在, 我们创建testng.xml文件。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite">
<test name="Fruits"> 
<parameter name="mango" value="mango"/>
<parameter name="orange" value="orange"/>
<classes>
<class name= "com.srcmini.Fruits"/>
</classes>
</test>
<test name="Vegetables"> 
<parameter name="Cauliflower" value="Cauliflower"/>
<parameter name="Ladyfinger" value="Ladyfinger"/>
<classes>
<class name= "com.srcmini.Vegetable"/>
</classes>
</test>
</suite> <!-- Suite -->

在上面的testng.xml中, 我们在特定文件夹中指定参数, 这意味着参数将应用于该文件夹特定的那些类。

步骤4:运行testng.xml文件。

输出

TestNG参数

赞(0)
未经允许不得转载:srcmini » TestNG注解属性用法示例

评论 抢沙发

评论前必须登录!