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="http://www.srcmini.com/5"/> < parameter name="b" value="http://www.srcmini.com/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="http://www.srcmini.com/mango"/> < parameter name="orange" value="http://www.srcmini.com/orange"/> < classes> < class name= "com.srcmini.Fruits"/> < /classes> < /test> < test name="Vegetables"> < parameter name="Cauliflower" value="http://www.srcmini.com/Cauliflower"/> < parameter name="Ladyfinger" value="http://www.srcmini.com/Ladyfinger"/> < classes> < class name= "com.srcmini.Vegetable"/> < /classes> < /test> < /suite> < !-- Suite -->

在上面的testng.xml中, 我们在特定文件夹中指定参数, 这意味着参数将应用于该文件夹特定的那些类。
步骤4:运行testng.xml文件。
【TestNG注解属性用法示例】输出
TestNG注解属性用法示例

文章图片

    推荐阅读