通过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传参的更多相关文章

  1. TestNG参数化之@DataProvider传参

    @parameters适合传递简单少量参数,复杂参数一般使用@DataProvider传递 @DataProvider语法: @DataProvider(name = "dataprovid ...

  2. Jmeter 登入、新增、查询、修改、删除,动态传参。

    1.设置HTTP Request Defaults    请求默认值,这样之后每次请求同一个域名端口的时候后都不用输入协议.域名.端口号. 2.输入[登入]的接口号. 3.设置HTTP header  ...

  3. 【转】Sql Server参数化查询之where in和like实现之xml和DataTable传参

    转载至: http://www.cnblogs.com/lzrabbit/archive/2012/04/29/2475427.html 在上一篇Sql Server参数化查询之where in和li ...

  4. TestNG传参的几种方式

    1. 通过parameter传参 java代码部分: import org.testng.annotations.Parameters; import org.testng.annotations.T ...

  5. Sql Server参数化查询之where in和like实现之xml和DataTable传参 (转)

    在上一篇Sql Server参数化查询之where in和like实现详解中介绍了在Sql Server使用参数化查询where in的几种实现方案,遗漏了xml和表值参数,这里做一个补充 文章导读 ...

  6. testNG参数化

    听说testNG比junit更好用,记录下 环境:springboot2.0+testNG6.8+maven+myeclipse 一 安装 (1)m'yeclipse安装testNg包,下载testN ...

  7. Jenkins- job之间传参

    前言: 本文介绍插件: Parameterized Trigger plugin的具体使用方法. 一.插件介绍 Parameterized Trigger plugin插件可以让你在构建完成时触发新的 ...

  8. MyBatis 强大之处 多环境 多数据源 ResultMap 的设计思想是 缓存算法 跨数据库 spring boot rest api mybaits limit 传参

    总结: 1.mybaits配置工2方面: i行为配置,如数据源的实现是否利用池pool的概念(POOLED – This implementation of DataSource pools JDBC ...

  9. Postman 串行传参和动态传参详解

    Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件 用Postman做接口测试的时候,要把多条用例一起执行,就需要把用例连接起来,一次性执行 目录 串行传参 动态传参 使用 ...

随机推荐

  1. Yii框架操作数据库的几种方式与mysql_escape_string

    一.Yii操作数据库的几种选择 1,PDO方式. $sql = "";//原生态sql语句 xx::model()->dbConnection->createComma ...

  2. windows删除服务的命令行语句

    想要删除windows xp里的一个服务,怎么办呢? 系统没有可视化的工具可以用,不过内置了一个cmd命令 sc.exe 具体操作方法是:开始--运行--cmd,进入cmd命令行. 然后输入: sc ...

  3. less gradient-vertical 方法的实现

    // Vertical gradient using CSS where possible, and base64-encoded SVG for IE9 (enables use of this i ...

  4. 未能映射路径"/"

    1.检查Server.MapPath 这里面需要像这样:  ~/uploads/   有~符号. 2.应用程序池出现问题,换一个应用程序池,或者重启程序池.

  5. CentOS7.2部署采集系统

    rm -rf /etc/yum.repos.d/*scp root@192.168.48.81:/etc/yum.repos.d/* /etc/yum.repos.d/vim /etc/hosts(添 ...

  6. change qt version

    https://blog.csdn.net/xiaoheibaqi/article/details/50777203 右键工程->设置qt project setting -->修改ver ...

  7. [Training Video - 1] [Selenium Basics] [What is Selenium IDE,RC,Webdriver, TestNG, Junit And Ant]

    Selenium IDE (Only support in Firefox): - Record and Run - UI interface - User extensions - Conversi ...

  8. pcd转obj

    文件转换 从PCD文件写入和读取点云数据:https://www.cnblogs.com/li-yao7758258/p/6435568.html 点云数据格式PCD(Point Cloud Data ...

  9. Leader/Follower多线程网络模型介绍

    之前分享过<轻量级 web server Tornado代码分析>,介绍了目前我们采用nginx + tornado的方式搭建升级.配管.数据中心等各类服务组建客户端迭代体系.最近注意到, ...

  10. ZSTU4269 买iphone 2017-03-22 14:31 73人阅读 评论(0) 收藏

    4269: 买iphone Time Limit: 3 Sec  Memory Limit: 128 MB Submit: 1710  Solved: 316 Description 自从上次仓鼠中了 ...