1、从testng.xml传入参数。
如果参数是一些简单的值,可以直接在testng.xml中定义。这也是最常用的一种。
可以在测试用例中给参数一个默认值。这样,即使在xml文件中没有这个变量,你的测试用例还是能以默认值来执行。
参数能出现的地方: @Test, @Before/After or @Factory 
 
2、通过程序来传入参数。
如果需要传递一些复杂的参数,光靠xml方式就不够了。有些时候,测试数据需要通过Java代码来得到(比如从对象中取值或从数据库取值)。在这些场景下,你需要通过Data Provider方式来提供测试数据。这是类中的一个方法,返回对象数组的数组,通过@DataProvider来声明
 
Data Provider 方法返回有两种类型:
- Object[][] 第一维数组是用来存放测试用例被调用的轮次。第二维数组是存放一次调用所需要的参数,参数的类型必需和测试用例中的类型一致。
- Iterator<Object[]> 唯一与上一种方式不同的是,Iterator是延迟创建测试数据的。TestNG调用iterator时,测试方法所需的参数由iterator一个一个返回。 如果你有大量的参数组合需要准备并且不希望一次性在前面全部创建,用这种方式就很合适。
Data Provider 也可以通过java的反射机制,灵活取值 。我的使用场景是这样的:通过Data Provider方法来提供测试数据,但不同环境(如测试,预发环境等)的数据会不一样,这时候我需要根据xml中定义的server变量的值来返回不同的参数。满足一套代码多个环境使用的场景。
 
目前我的测试工程是两种参数提供方法混合使用,像前文提到的server、host之类的,我就在xml文件中定义。但具体的测试用例所需要的数据就通过data provider提供。
 
PS:测试用例中调用的参数会显示在TestNG生成的HTML报告中。

(转)TestNG框架提供两种传入参数的方法:的更多相关文章

  1. 基于axis2框架的两种发布webservice的方法

    这次在中韩的产品定义平台的开发,有幸接触到了通过自己写webservice给其他系统调用的项目. 具体开发背景:这个平台做了几个查询接口都是,都是用servlet方式处理请求,而这边系统之间是通过we ...

  2. SSH简介及两种远程登录的方法

    出处 https://blog.csdn.net/li528405176/article/details/82810342 目录 SSH的安全机制 SSH的安装 启动服务器的SSH服务 SSH两种级别 ...

  3. 从上面的集合框架图可以看到,Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射

    从上面的集合框架图可以看到,Java 集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合,另一种是图(Map),存储键/值对映射.Collection 接口又有 3 ...

  4. jsp中四种传递参数的方法

    jsp中四种传递参数的方法如下: 1.form表单 2.request.setAttribute();和request.getAttribute(); 3.超链接:<a herf="i ...

  5. iOS - UITableView中有两种重用Cell的方法

    UITableView中有两种重用Cell的方法: - (id)dequeueReusableCellWithIdentifier:(NSString *)identifier; - (id)dequ ...

  6. 接口测试中GET和POST两种基本HTTP请求方法的区别

    面试时,可以回答(一般答前4条就行): GET参数通过url传递,POST放在request body中 GET请求在url中传递的参数是有长度限制的,而POST没有 GET比POST更不安全,因为参 ...

  7. C#两种创建快捷方式的方法

    C#两种创建快捷方式的方法http://www.cnblogs.com/linmilove/archive/2009/06/10/1500989.html

  8. HTTP/HTTPS GET&POST两种方式的实现方法

    关于GET及POST方式的区别请参照前面文章:http://www.cnblogs.com/hunterCecil/p/5698604.html http://www.cnblogs.com/hunt ...

  9. 两种ps切图方法(图层/切片)

    两种Ps切图方法 一.      基础操作: a)    Ctrl++ 放大图片,ctrl - -缩小图片 b)    按住空格键space+,点击鼠标左键,拖动图片. c)    修改单位,点击编辑 ...

随机推荐

  1. MySQL update select组合

    update t_news inner join (select readCount from t_news t2 where t2.id=1) t1 set t_news.readCount = t ...

  2. PCL—点云分割(邻近信息) 低层次点云处理

    博客转载自:http://www.cnblogs.com/ironstark/p/5000147.html 分割给人最直观的影响大概就是邻居和我不一样.比如某条界线这边是中华文明,界线那边是西方文,最 ...

  3. UVA1723 Intervals

    这题$n$倍经验…… 考虑差分约束: 我们设$s_i$表示$[-1, i]$这个区间中数字的种类数,那么一个条件的限制相当于$s_{b_i} - s_{a_i - 1} \leq c_i$,那么连边$ ...

  4. for与break的用法

    # Auther: Aaron Fan age_of_oldboy = 56 #执行3次循环for i in range(3): guess_age = int(input("猜一下oldb ...

  5. JLink间接烧写【转自armobbs】

    1. 简要说明 JLink的调试功能.烧写Flash的功能都很强大,但是对于S3C2410.S3C2440的Flash操作有些麻烦:烧写Nor Flash时需要设置SDRAM,否则速率很慢:烧写Nan ...

  6. How a web page loads

    The major web browsers load web pages in basically the same way. This process is known as parsing an ...

  7. appium自动化安装(一)

    1.首先去  https://github.com/  了解一下appium一些相关信息 2.安装node.js:node.js官方网站:https://nodejs.org/ 安装完成,打开Wind ...

  8. MacBook Pro (13 英寸, 2017 年)安装win10系统

    准备: windows10系统镜像 16G或更大容量U盘(存放驱动,必须格式化为FAT) 官方提供的驱动软件 详细步骤: 1.打开Bootcamp,选择镜像文件 2.点击下一步,选择Bootcamp分 ...

  9. Head First HTML与CSS(第2版) 中文pdf扫描版​

    是不是已经厌倦了那些深奥的HTML书?你可能在抱怨,只有成为专家之后才能读懂那些书.那么,找一本新修订的<Head First HTML与CSS(第2版)>吧,来真正学习HTML.你可能希 ...

  10. 将Winform程序及dll打包成可执行的exe

    使用场景 通常开发的Winform程序,引用了其他类库后,在输出目录下都会产生很多DLL文件,exe执行时必须依赖这些DLL.想要Winform程序只有一个可执行exe文件,又不想打包成安装包,就可以 ...