【学习笔记】【testng】传参数篇

本文详细介绍了TestNG中两种参数传递方式:@Parameters通过XML配置文件传递参数,以及@DataProvider作为数据提供者的方式。在使用@Parameters时,需在XML文件中以键值对形式设置参数,而在Java文件中执行会报错。@DataProvider则允许创建自定义的数据源,返回Object二维数组,用于测试方法的参数供给。

关于testng有关传递参数的
将方法分类分成两大类进行参数的传递,分别是@Parameters、@DataProvider、

1.@Parameters

       将要传的参数放在xml文件中,通过@Parameters,将参数传递给需要执行的用例中(.java文件)
       x**ml文件**
<?xml version="1.0" encoding="UTF-8"?>
<test name="paratest">

    <parameter name="sex1" value="李小二" />
    <parameter name="age1" value="18" />

    <classes>
        <class name="ParameterTest.test1" />
    </classes>

</test>

在xml文件中,需要以key,value的形式填写所传的参数
要执行的用例,Java文件
package ParameterTest;

import org.testng.annotations.Parameters;
import org.testng.annotations.Test;

public class test1 {

@Parameters({"age1","sex1"})
@Test
private void person(String sex,String age) {
	System.out.println("sex="+sex+"     ,     "+"age="+age);

}

}

结果:18李小二
执行的时候需要执行xml文件。如果执行Java文件的话 会报sex=param-val-not-found , age=param-val-not-found 这两个参数找不到。因为需要通过xml的文件来将其传递参数。

2.dataProvider

意思是数据提供者
java文件:
package ParameterTest;

import static org.testng.Assert.assertEquals;

import org.testng.Assert;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;

@Test
public class test2 {
@DataProvider(name=“datepro”)//datepro这个名字可以随意取
public Object[][] datepro() {
return new Object[][] {{1,3},{2,4}};

}
   @Test(dataProvider="datepro")//dataProvider="datepro",datepro这个值需要和上面的name="datepro"  一致
  public void test2(int num1,int num2) {
	  Assert.assertEquals(num1 + 2, num2);

}

}

开始写例子的时候 datepro写的返回值是一个String 执行时报错。提示应该为Object的类型或者是iterator 故改成一个Object类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值