1. Chinaztest软件测试网首页
  2. 教程
  3. 测试框架
  4. TestNG教程

TestNG参数化测试

TestNG中的另一个有趣的功能是参数化测试。 在大多数情况下,您会遇到业务逻辑需要大量测试的场景。 参数化测试允许开发人员使用不同的值一次又一次地运行相同的测试。

TestNG可以通过两种不同的方式将参数直接传递给测试方法:

  • 使用testng.xml
  • 使用数据提供者

在本教程中,我们将向您展示如何通过XML @Parameters@DataProvider将参数传递给@Test方法。

为了方便演示,这里创建一个名称为:ParameterTest 的 Maven 工程,其结构如下所示 –

TestNG参数化测试

1. 使用XML传递参数

在此示例中,filename属性从testng.xml传递,并通过@Parameters注入到该方法中。

依懒文件:pom.xml 文件代码如下所示 –

创建一个名称为:TestParameterXML.java,其代码如下所示 –

创建一个名称为:db.properties 的文件, 其代码如下所示 –

创建一个名称为:testng.xml 的文件, 其代码如下所示 –

执行上面测试类代码,得到以下结果 –

2. 通过@DataProvider传递参数

2.1. 查看一个简单的@DataProvider示例,传递一个int参数。

创建一个名称为:TestParameterDataProvider.java 的文件, 其代码如下所示 –

执行上面测试类代码,得到以下结果 –

2.2. @DataProvider支持传递一个对象参数。 下面的例子显示了如何传递一个Map对象作为参数。

创建一个名称为:TestParameterDataProvider2.java 的文件, 其代码如下所示 –

执行上面测试类代码,得到以下结果

3. @DataProvider + 方法

此示例显示如何根据测试方法名称传递不同的参数。

创建一个名称为:TestParameterDataProvider3.java 的文件, 其代码如下所示 –

执行上面测试类代码,得到以下结果 –

4. @DataProvider + ITestContext

在TestNG中,我们可以使用org.testng.ITestContext来确定调用当前测试方法的运行时参数。 在最后一个例子中,我们将演示如何根据包含的分组名称传递参数。

创建一个名称为:TestParameterDataProvider4.java 的文件, 其代码如下所示 –

创建一个名称为:testng4.xml 的文件, 其代码如下所示 –

执行上面测试类代码,得到以下结果 –

 

原创文章,作者:若木成林,如若转载,请注明出处:https://www.chinaztest.com/2686.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

400-800-8888

在线咨询:点击这里给我发消息

邮件:983512074@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息