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文件。
输出
第二种情况:参数是特定的。
步骤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文件。
输出
评论前必须登录!
注册