testng执行参数_知道如何在TestNG中使用DataProvider–TestNG参数化

硒是用来使事情更容易和更快。但是,如果必须手动提供测试用例,那么自动化测试的意义何在?为了加快测试过程,测试用例必须是自动化的。好吧,这就是数据提供者适合的地方。TestNG中的Da

硒是用来使事情更容易和更快。但是,如果必须手动提供测试用例,那么自动化测试的意义何在?为了加快测试过程,测试用例必须是自动化的。好吧,这就是数据提供者适合的地方。TestNG中的DataProvider用于自动化提供测试用例的过程,这就是我在本文中将要讨论的内容。

我将在本文中介绍以下主题:

什么是数据驱动框架?TestNG中的参数化类型TestNG中的DataProvider是什么?使用DataProvider参数化DataProvider示例什么是数据驱动框架?”“数据驱动”是一个测试自动化框架,它以表格或电子表格的形式存储测试数据。它允许自动化工程师使用一个测试脚本来执行表中的所有测试数据。在这个框架中,输入值从数据文件中读取,并存储在测试脚本中的变量中。数据驱动测试能够将正负测试用例构建成一个单独的测试。

在数据驱动测试自动化框架中,输入数据可以存储在单个或多个数据源中,如XLS、XML、CSV,和数据库。为了更好地理解参数化,让我们了解TestNG中的参数化选项。有两种方法可以在TestNG中实现参数化,它们是:

借助参数注释和TestNG XML文件

@Parameters({“name”,“searchKey”})

借助于数据提供程序注释

@DataProvider(name=“searchProvider”)

现在让我们更深入地了解什么是TestNG中的数据提供程序。

什么是TestNG中的数据提供程序

“”

“如果必须提供测试数据,则需要声明一个方法,该方法以二维对象数组object[][]的形式返回数据集。第一个数组表示数据集,而第二个数组包含参数值。DataProvider方法可以在同一个测试类或其超类中。也可以在另一个类中提供DataProvider,但方法必须是静态的。

添加此方法后,需要使用@DataProvider对其进行注释,以让TestNG知道它是一个DataProvider方法。还可以使用DataProvider注释的name属性提供名称。如果没有提供名称,那么默认情况下方法的名称将被用作引用。

现在您知道了什么是TestNG中的DataProvider,让我们进一步了解它是如何通过参数化工作的。

参数化使用DataProvider

使用测试框架填充数千个web表单您需要一种不同的方法,它将在单个执行流中为您提供一个非常大的数据集。这个数据驱动的概念是由TestNG中的@DataProvider注释实现的。它只有一个属性“name”。如果不指定name属性,则数据提供程序的名称将与相应的方法名称相同。这就是DataProvider如何简化测试多组数据的任务。现在,让我们借助示例深入了解一下在TestNG中DataProvider的实际实现。

DataProvider示例

示例一:在这个示例中,我将把数据从getData()方法传递给DataProvider。我还将发送数据到3行2列,即我将传递三个不同的用户名和密码。让我们看看下面的代码。

package co.edureka.pages;导入org.testng.annotations.Test;公共类DataProviderExample{//此测试方法声明其数据应由数据提供程序提供//列数应与输入参数数匹配public void setData(字符串用户名,字符串密码){System.out.println(“您的密码是:” 密码);}@数据提供程序公共对象[][]getData()//行-必须重复测试的次数。//Columns—测试数据中的参数数。Object[][]data=新对象[3][2];//第一排数据[0][0]=“用户1”;//第二排数据[1][0]=“用户2”;数据[1][1]=“xyz”;//第三排数据[2][1]=“123456”;返回数据;}导入org.openqa.selenium.By;导入org.openqa.selenium.firefox.FirefoxDriver;导入org.testng.annotations.Test;公共类TestDDT{@测试(dataProvider=“testdata”)public void TestFireFox(字符串uname,字符串密码){WebDriver driver=new FirefoxDriver();//最大化浏览器//加载应用程序//清除电子邮件字段//输入usename//清除密码字段//输入密码}@数据提供程序(name=“testdata”)公共对象[][]TestDataFeed(){//创建具有两行两列的对象数组-第一个参数是row,第二个参数是//columnObject[][]facebookdata=新对象[2][2];//将数据输入到第0行第0列//将数据输入第0行第1列//在第1行第0列中输入数据facebook data[1][0]=“用户名2@gmail.com”;facebookdata[1][1]=“密码2”;返回facebook数据;}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值