TestNG让你直接传递参数测试方法两种不同的方式:
-
使用testng.xml
-
数据提供程序
第一种方式:使用XML方式
说明:
.java文件的测试用例中通过parameters获得数据使用方法1:@Test(parameters="para1")使用方法2:@Parameter({"para1","para2"})@Test
代码:
package com.testcase;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
public class Testngpara {
@Test
@Parameters({"para","para2"}) //说明:此处的参数名字必须与XML文件的参数名字一致。否则 会报找不到的错误
public void showpara(String para11,String para22){
System.out.println("testng获得的参数para1如下:"+para11);
System.out.println("testng获得的参数para2如下:"+para22);
}
}
testng.xml文件配置:
说明:
1.测试用例中设置的参数名随意,但是数量一定要和@Parameter中提供的数量一致,按照testng.xml中定义的顺序来取值的2.<parameter>可以声明在<suite>或者<test>级别,在<test>下的<parameter>会覆盖在<suite>下声明的同名变量<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Suite1">
<parameter name = "para" value ="test para"/>
<test name="test1">
<parameters>
<parameter name="para" value="test para1"/>
<parameter name="para2" value="test para2"/>
</parameters>
<classes>
<class name="com.testcase.TestngDependOnGroups" />
</classes>
</test>
</suite>
特殊说明:
当在testng.xml中没有找到参数,可在JAVA代码中用@Optional("")中声明的参数,执行用例时会直接接收在java代码中通过@Optional("")中指定的参数值。举例如下:
测试方法将接受在
@Optional
注解
中指定的默认值:
import org.testng.annotations.Test;
public class TestngDependOnGroups {
@Test(parameters={"para1","para2"})
public void showpara(@Optional("test1")String para11,@Optional("test2")String para22){
System.out.println("testng获得的参数para1如下:"+para11);
System.out.println("testng获得的参数para2如下:"+para22);
}[TestNG] Running:
F:\android\android_work\Test2\src\testng.xml
testng获得的参数para1如下:test1
testng获得的参数para2如下:test2
===============================================
Suite1
Total tests run: 1, Failures: 0, Skips: 0
===============================================