(三)利用@DataProvider传递参数
具体实现如下:
@DataProvider(name="couponListData")
public Object[][] couponListData(){
//自己定义Object[][]值
List<ListManage> couponManageList = ExcelUtil.simpleRead(AdminFileName.CouponManagePath, ListManage.class);
Object[][] o = new Object[couponManageList.size()][];
for(int i=0; i<couponManageList.size();i++){
JSONObject jsonObject = new JSONObject(true);
Object[] objects = new Object[3];
jsonObject.put("condition",couponManageList.get(i).getCondition());//code:券码编号,name:券码名字,customer_name:采购用户
jsonObject.put("content",couponManageList.get(i).getContent());
jsonObject.put("current_page",couponManageList.get(i).getCurrentPage());
jsonObject.put("page_size",couponManageList.get(i).getPageSize());
objects[0] = couponManageList.get(i).getCode();
objects[1] = couponManageList.get(i).getAccountInformation();
objects[2] = jsonObject;
o[i] = objects; }
return o;
} @Test(dataProvider = "couponListData")
public void couponList(String code,String accountInformation,JSONObject data) throws Exception{ }
不同类的用法:
数据驱动类DataProviderDemo .java
package com.yck.demo.data; import org.testng.annotations.DataProvider; import com.yck.demo.entity.TestDataVo;
import com.yck.demo.utils.MybatisUtil; public class DataProviderDemo { @DataProvider(name = "providerName")
public TestDataVo[][] demo() {
String statement = "mapper.TestDataMapper.getdataByCaseName";
TestDataVo vo1 = MybatisUtil.excuteSelect(statement, "1");
TestDataVo vo2 = MybatisUtil.excuteSelect(statement, "2");
TestDataVo vo3 = MybatisUtil.excuteSelect(statement, "3");
TestDataVo[][] dataVo = {{vo1},{vo2},{vo3}};
return dataVo; } }
测试用例类:
package com.yck.demo.testcase; import java.io.IOException;
import java.io.InputStream; import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test; import com.yck.demo.entity.TestDataVo; public class DemoTestCase { @Test(dataProvider= "providerName",dataProviderClass= com.yck.demo.data.DataProviderDemo.class)
public void test(TestDataVo vo) {
System.out.println(vo.getActual());
}
}
(三)利用@DataProvider传递参数的更多相关文章
- vue-router 利用url传递参数
vue-router 利用url传递参数 :冒号的形式传递参数 在路由配置文件里以:冒号的形式传递参数,这就是对参数的绑定. 1. 在配置文件里以冒号的形式设置参数.我们在/src/router/i ...
- Vue-router 第5节 vue-router利用url传递参数
Vue-router 第5节 vue-router利用url传递参数 目录 Vue-router 第5节 vue-router利用url传递参数 第5节 vue-router利用url传递参数 冒号的 ...
- 三、Shell 传递参数
Shell 传递参数 我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n.n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推…… 实例 以 ...
- DataProvider 传递参数
package roger.testng; import org.testng.annotations.DataProvider; import org.testng.annotations.Test ...
- vue-router利用url传递参数
app.vue <template> <div id="app"> <router-link to="/">home< ...
- C++中三种传递参数方法的效率分析
众所周知,在C++中有三种参数传递的方式: 按值传递(pass by value) #include <iostream> using namespace std; void swap(i ...
- C# ADO.NET SqlDataAdapter中传递参数
ADO.NET的SQL语句中,往往不是静态的语句,而是需要接受传递过来的参数,比如典型的登录功能,需要查找指定的用户名: string sqlQuery = "SELECT * FROM W ...
- AutoComplete的extraParams动态传递参数
AutoComplete可利用extraParams传递参数,如 extraParams:{para1:'参数1',para2:'参数2'} 但是,如需动态取值作为参数值时却无法达到期望目的,可改为配 ...
- mfc 在VC的两个对话框类中传递参数的三种方法
弄了好久,今天终于把在VC中的对话框类之间传递参数的问题解决了,很开心,记录如下: 1. 我所建立的工程是一个基于MFC对话框的应用程序,一共有三个对话框,第一个对话框为主对话框,所对应的类为CTMD ...
随机推荐
- VueRouter小手册
目录 一. 了解router 二. 工作流程 三. 简单的Demo 四. 理解template和route的组合 五. Vue-Router-GoBack记录返回 六. Router-Link 七. ...
- [Objective-C] 015_Delegate(委托代理)
Delegate在iOS开发中随处可见,Delegate是一种功能强大的软件架构设计理念,它的功能是程序中一个对象代表另一个对象,或者一个对象与另外一个对象协同工作(如小明喜欢一个女孩如花,却苦于没有 ...
- Spring_配置Bean & 属性配置细节
1.Spring容器 在 Spring IOC 容器读取 Bean 配置创建 Bean 实例之前, 必须对它进行实例化. 只有在容器实例化后, 才可以从 IOC 容器里获取 Bean 实例并使用.Sp ...
- 使用fileupload组件
1. 进行文件上传时, 表单需要做的准备: 1). 请求方式为 POST: <form action="uploadServlet" method="post&qu ...
- 数据库原理实验指导(三)使用SQL语言进行简单查询【转载csdn】
--1.查询全体学生的学号和姓名select sno,sname from student --2.查询全体学生的详细记录select * from student --3.查询软件学院的学生姓名,年 ...
- Parrot os笔记本推荐
parrot os基于debian开发的,因此同样适用于其他linux:笔记本集显最好,linux直接适用于intel,不用手动切换显卡,大多数linux玩家及pentester不需要高性能显卡,当然 ...
- NET-NTLM hash传递
net-ntlm无法进行hash直接传递,通过responder等中继器拿到的net-ntlm破解也很难,所以利用responder加MultiRelay获取一直存在的shell. 注意的一点是: N ...
- 七个生产案例告诉你BATJ为何选择ElasticSearch!应用场景和优势!
本文来源于公众号[胖滚猪学编程],转载请注明出处. 从今天开始,想和你一起死磕ElasticSearch,学习分布式搜索引擎,跟着胖滚猪就对了! 既然是ES的第一课,那么最重要的是让你爱上它!不想说那 ...
- Rocket - devices - TLBusBypass
https://mp.weixin.qq.com/s/WviVHxlZvsNm8mea2VpfTw 简单介绍TLBusBypass的实现. 1. TLBypassNode TLBypassNode定义 ...
- 串口助手下载-带时间戳的串口助手-极简串口助手-V1.1 自动保存配置参数 能显示收发时间方便调试
1.串口助手下载 2.带时间戳的串口助手,每次收发指令带上了时间戳,方便调试 3.极简串口助手 4.简单易用 高速稳定 5.每次修改的参数都能自动保存,免去了重复配置的工作 下载地址:http://w ...