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做接口测试的时候,要把多条用例一起执行,就需要把用例连接起来,一次性执行 目录 串行传参 动态传参 使用 ...
随机推荐
- django关于静态的信息的配置
今天搭建完,django后,访问 admin 发现 样式没有加载 需要搭建静态的配置 1 设置项目目录的静态目录 用来存放静态的文件 在setttings.py中 添加以下参数 在 STATIC_ ...
- 关于微信小程序的一些看法和理解
最近做了几个小时的调研,微信小程序 微信小程序是可以理解成在微信中的APP,他的目标是APP的替代者,由于目前的APP主要区分安卓和IOS,或者其他平台, 那么微信小程序的平台在微信,在任何一个手机系 ...
- Ubuntu无法sudo提权,报当前用户不在sudoers文件中错误
Ubuntu安装后默认root不能登陆系统,密码也是随机生成,其他用户使用root权限,可以使用sudo提权,前提是该用户在/etc/sudoers配置列表中. 但是有时用户名从/etc/sudoer ...
- tomcat没有发布maven项目依赖的本地jar包
建立springMVC的maven项目,平时使用的jar包都是在pom.xml文件配置依赖关系, maven会自动从仓库中下载,这样使用tomcat部署发布都没有问题.但有时我们需要使用maven仓库 ...
- Python pip配置国内源
众所周知,Python使用pip方法安装第三方包时,需要从 https://pypi.org/ 资源库中下载,但是会面临下载速度慢,甚至无法下载的尴尬,这时,你就需要知道配置一个国内源有多么重要了,通 ...
- spring mvc请求参数中文乱码解决方案
POST 请求 在web.xml中加上增加过滤器 <filter> <filter-name>encodingFilter</filter-name> <fi ...
- manjaro 下golang protobuf的使用
1.下载protobuf compiler sudo pacman -S protobuf 2.添加环境变量GOBIN export GOBIN=~/go/bin 3.下载golang依赖的包 go ...
- js 倒计时功能,获取当前时间的年月日,时分秒
一.实现当前时间到指定截止时间的倒计时功能 <html> <head> <title>TEST</title> </head> <bo ...
- react-native 组件的导入、导出
一.前言背景: 学习react native的关键在于组件,依靠组件的拼接达到想要的效果,由此可见,组件就像一块块功能各异的零件,最终搭建出我们想要的效果. 今天我们就从组件的导入.导出开始 下面是我 ...
- 基于注解的方式管理Bean
--------------------siwuxie095 基于注解的方式管理 Bean (一)准备 ...