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做接口测试的时候,要把多条用例一起执行,就需要把用例连接起来,一次性执行 目录 串行传参 动态传参 使用 ...
随机推荐
- uva-10596-欧拉回路
并不要求所有点都联通,只要出现的所有边能形成欧拉回路就行了 做成有向图的欧拉回路wa成了狗 #include <iostream> #include<memory.h> #in ...
- (2/24) 快速上手一个webpack的demo
写在前面:该部分的安装都是基于windows系统的,且此处的webpack的版本为:3.6.0. 1.安装webpack 1.1 安装方法: 用win+R打开运行对话框,输入cmd进入命令行模式.然后 ...
- Tomcat 实战-调优方案
来自: http://blog.csdn.net/u010028869/article/details/51793821 来自: https://www.cnblogs.com/baihuites ...
- mac使用备注
快捷键: 掌握好多手势和快捷键可以有效的提高工作效率,触控板和快捷键基本让你可以脱离鼠标. Command+Tab 任意情况下切换应用程序 - 向前循环 Shift ...
- rook 删不掉的问题
# kubectl get crd -o yamlapiVersion: v1items:- apiVersion: apiextensions.k8s.io/v1beta1 kind: Custo ...
- Ant+jmeter+jenkins搭建测试的持续集成
前提: Ant+jmeter 已经搭建完成并成功运行(参看ant+jmeter自动化性能测试) Jenkins在本地已经安装可运行(参看上一篇) 1.下载Jenkins安装 2.浏览器输入地址http ...
- Python 入门学习(壹)上机时间提醒
基于 Udacity 的 Python 入门课程 Programming Foundations with Python 基于 Python 2.7 控制台版本 思路 Project 1 是一个时间提 ...
- mybatis与hibernate不同(重要)
Mybatis和hibernate不同,它不完全是一个ORM框架,因为MyBatis需要程序员自己编写Sql语句,不过mybatis可以通过XML或注解方式灵活配置要运行的sql语句,并将java对象 ...
- Halcon中的坐标系特点及XLD的镜像转换
我们知道,Halcon中的坐标系的原点在左上角,而一般二维平面坐标系的原点在左下角.那么Halcon中坐标系和一般的二维坐标系有什么区别呢?我通过下面这个例子来分析. gen_image_const ...
- mongo学习- 副本集 大多数原则
副本集中有一个重要的概念“大多数”,意思是说,选择主节点需要大多数决定(本人亲自做了实验) 步骤: 1.开启副本集(如果没有配置好 副本集的 亲参考我的上篇文章 https://www.cnblog ...