TestNG参数化之@Parameters传参
通过TestNG实现参数话常用两种方式,一种是借助 @Parameters读取testng.xml中参数,一种是使用@DataProvider注解传参。
此次主要讲解XML传参,语法:在java类中定义参数名@Parameters({
"paraName"
}
);在TestNG.xml中设置参数值<
parameter
name
=
"paraName"
value
=
"paraValue"
/>
以下为关键代码部分,柠檬黄色标记部分是具体传参代码
1.传一个参数
testDemo.java
@Parameters({ "first-name" })
@Test
public void testSingleString(String firstName) {//对应parameters只有一个参数
System.out.println("Invoked testString " + firstName);
}
testng.xml
<suite name="Suite" parallel="false">
<parameter name="first-name" value="Cedric"/>
<test name="Simple example">
<classes>
<class name="**.testDemo"/>
</classes>
</test>
</suite>
2.传多个参数
testDemo.java
@Parameters({ "userName", "password" })
@BeforeMethod
public void beforeTest(String userName, String pwd) {
System.out.println("参数userName值为:"+userName);
System.out.println("参数password值为:"+pwd);
}
testng.xml
<suite name="Suite" parallel="false">
<parameter name="userName" value="admin"/>
<parameter name="password" value="123456"/>
<test name="mulParameters">
<classes>
<class name="**.testDemo"/>
</classes>
</test>
</suite>
3.使用默认值
testDemo.java
@Parameters("db")
@Test
public void testNonExistentParameter(@Optional("mysql") String db) {
System.out.println("数据库为:"+db);
}
testng.xml
<!-- 无name=“db”的parameter ,testDemo中直接读取默认值“mysql”-->
<suite name="Suite" parallel="false">
<test name="demo">
<classes>
<class name="**.testDemo"/>
</classes>
</test>
</suite>
打印结果 数据库为:mysql
备注:
- 只有已使用 @Test, @Before/After or @Factory 注解的方法可以使用@Parameters.
- 参数有作用域,在 testng.xml中,参数在 <suite> 或 <test>标签下赋值. 如果有同名参数, <test> 标签下参数优先级高.
TestNG参数化之@Parameters传参的更多相关文章
- TestNG参数化之@DataProvider传参
@parameters适合传递简单少量参数,复杂参数一般使用@DataProvider传递 @DataProvider语法: @DataProvider(name = "dataprovid ...
- Jmeter 登入、新增、查询、修改、删除,动态传参。
1.设置HTTP Request Defaults 请求默认值,这样之后每次请求同一个域名端口的时候后都不用输入协议.域名.端口号. 2.输入[登入]的接口号. 3.设置HTTP header ...
- 【转】Sql Server参数化查询之where in和like实现之xml和DataTable传参
转载至: http://www.cnblogs.com/lzrabbit/archive/2012/04/29/2475427.html 在上一篇Sql Server参数化查询之where in和li ...
- TestNG传参的几种方式
1. 通过parameter传参 java代码部分: import org.testng.annotations.Parameters; import org.testng.annotations.T ...
- Sql Server参数化查询之where in和like实现之xml和DataTable传参 (转)
在上一篇Sql Server参数化查询之where in和like实现详解中介绍了在Sql Server使用参数化查询where in的几种实现方案,遗漏了xml和表值参数,这里做一个补充 文章导读 ...
- testNG参数化
听说testNG比junit更好用,记录下 环境:springboot2.0+testNG6.8+maven+myeclipse 一 安装 (1)m'yeclipse安装testNg包,下载testN ...
- Jenkins- job之间传参
前言: 本文介绍插件: Parameterized Trigger plugin的具体使用方法. 一.插件介绍 Parameterized Trigger plugin插件可以让你在构建完成时触发新的 ...
- MyBatis 强大之处 多环境 多数据源 ResultMap 的设计思想是 缓存算法 跨数据库 spring boot rest api mybaits limit 传参
总结: 1.mybaits配置工2方面: i行为配置,如数据源的实现是否利用池pool的概念(POOLED – This implementation of DataSource pools JDBC ...
- Postman 串行传参和动态传参详解
Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件 用Postman做接口测试的时候,要把多条用例一起执行,就需要把用例连接起来,一次性执行 目录 串行传参 动态传参 使用 ...
随机推荐
- 5_bootstrap之响应式布局|列表|按钮
5.响应式工具 为针对性地在移动页面上展示和隐藏不同的内容,bootStrap提供响应式工具. 可以让开发人员通过该工具决定,在何种屏幕尺寸下,隐藏或者显示某些元素 帮助手册位置:全局CSS样式--- ...
- urllib2异常处理(七)
urllib2 的异常错误处理 在我们用urlopen或opener.open方法发出一个请求时,如果urlopen或opener.open不能处理这个response,就产生错误. 这里主要说的是U ...
- leetcode205
public class Solution { public bool IsIsomorphic(string s, string t) { if (s.Length != t.Length) { r ...
- VB.NET 指针
在.NET中,对指针指向数据的存储函数都封装在marshal类中,主要的函数包括:Copy.PtrToStringUni .PtrToStructure .OffsetOf.WriteXXX,Rrea ...
- c#正则获取html里面a标签href的值
获取单个a中href的值: string str = "<a href=\"http://www.itsve.com\">下载</a>" ...
- CPU GPU FPU TPU 及厂商
1,AMD 既做CPU又做显卡2,Inter 全球最大的CPU厂商,GPU,FPGA3,NVIDA 人工智能起家的公司,且一直在做,显卡最出名,CUDA让N卡胜了AMD CPU上 AMD - Inte ...
- 手把手教你给RecycleView添加头布局和尾布局
RecycleView想必大家都不陌生,它已他的高拓展性取代了传统布局显示,同时配合协调布局,可以实现很多意想不到的酷炫交互,今天就和大家介绍一下,如何给RecycleView添加头布局和尾布局,同时 ...
- git的基本命令
在当前目录新建一个git代码库$ git init 设置提交代码时的用户信息:$ git config [--global] user.name "[name]"$ git con ...
- 超级详细的解决方法 (CentOS7) :永久修改 mysql read-only 问题 could not retrieve transation read-only status server
一.查看mysql的事物隔离级别 SHOW VARIABLES LIKE '%iso%'; 二.临时修改事物隔离级别 SET GLOBAL tx_isolation='READ-COMMITTED'; ...
- python二叉树染色-有严重BUG
#coding:utf-8 ''' 二叉树涂黑 输入: 5 2 1 -1 4 2 -1 5 4 -1 3 1 1 2 输出: 3 第二题是:斗地主 ''' import sys b=list() cl ...