TestNG数据驱动DataProvider(4种方式)

TestNG数据驱动DataProvider(4种方式)

1、DataProvider用法(从二维数组中读取)

1、定义方法,加上@DataProvider注解

  • 定义一个方法,方法名随意取,使用@DataProvider注解,注解中给这个provider起名字,该方法返回一个二维数组。例如:@DataProvider(name="testData")

  • 该方法返回的二维数组每一行代表一次测试的参数,每一行的元素跟Test中需要的参数一一对应

3、TestCase使用DataProvider

需要使用DataProvider时,该方法@Test加上@DataProvider注解和其名称

例如:@Test(dataProvider="testData")

1.1、测试例子:testProvider.java

package com.example;import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;/*** Description :** @author : HMF* Date : Created in 11:24 2023/11/16* @version :*/
public class testProvider {@DataProvider(name="testData")public Object[][] provider(){Object [][] provider = new Object [6][2];for (int i = 0; i < provider.length; i++) {provider[i][0] = "value"+i;provider[i][1] = i+100;}return provider;}@Test(dataProvider="testData")public void getName(String value,int num){System.out.println(value+","+num);}}

1.2、执行结果

运行过程中,打印 dataprovider提供的二维数组参数,每次测试可用来入参。

value0,100
value1,101
value2,102
value3,103
value4,104
value5,105

===============================================
Default Suite
Total tests run: 6, Failures: 0, Skips: 0
===============================================


Process finished with exit code 0

2、DataProvider用法(从Excel中读取(XSS方式获取直接放入Object))

1、定义方法,加上@DataProvider注解

  • 定义一个方法,方法名随意取,使用@DataProvider注解,注解中给这个provider起名字,例如:@DataProvider(name="testData")

  • 该方法读取excel,数据放入二维数组

  • 该方法返回的二维数组每一行代表一次测试的参数,每一行的元素跟Test中需要的参数一一对应

3、TestCase使用DataProvider

需要使用DataProvider时,该方法@Test加上@DataProvider注解和其名称

例如:@Test(dataProvider="testData"

2.1、excel文件

testdata.xlsx

idnameage
1小王18
2王凯19
3李杰18
4陈小小19
5胡晓19
6刘梅19

2.2、测试例子testProvider_excel.java

2.3.1、pom.xml引用

<!-- org.apache.poi依赖-->
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.14</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.14</version>
        </dependency>

2.3.2、测试例子testProvider_excel.java
package com.example;import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Iterator;/*** Description :** @author : HMF* Date : Created in 10:25 2023/11/23* @version :*/
public class testProvider_excel {@Test(dataProvider = "testdata")public void testMethod(int id,String name, int age) {System.out.println("Id:" + id + ", Name:" + name + ", Age:" + age);}@DataProvider(name = "testdata")public Object[][] readData() throws IOException {File file = new File("src/main/resources/testdata.xlsx");FileInputStream fis = new FileInputStream(file);XSSFWorkbook wb = new XSSFWorkbook(fis);XSSFSheet sheet1 = wb.getSheetAt(0);int rowcount = sheet1.getPhysicalNumberOfRows();int columnCount = sheet1.getRow(0).getLastCellNum();Object objects[][] = new Object[rowcount-1][columnCount];int rowCounter = 0;Iterator<Row> rowIterator = sheet1.iterator();boolean firstRow = true;while (rowIterator.hasNext()) {Row currentRow = rowIterator.next();if (

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/174620.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

redis报错3

INFO: Initializing SpringDispatcherServletdispatcherServlet

OpenCV快速入门:移动物体检测和目标跟踪

文章目录 前言一、移动物体检测和目标跟踪简介1.1 移动物体检测的基本概念1.2 移动物体检测算法的类型1.3 目标跟踪的基本概念1.4 目标跟踪算法的类型 二、差值法检测移动物体2.1 差值法原理2.2 差值法公式2.3 代码实现2.3.1 视频或摄像头检测移动物体2.3.2 随机动画生成的移动…

串口数据包收发的思路和流程-stm32入门

本节主要内容&#xff1a; 如何去规定一个合理的数据包格式如何收发数据包 1. 数据包格式规定/定义 1.1 HEX 数据包定义 固定包长&#xff0c;含包头包尾 可变包长&#xff0c;含包头包尾 首先数据包的作用是把一个个单独的数据给打包起来&#xff0c;方便我们进行多字节…

【05】python序列类型

文章目录 1.字符串 strings1.1 字符串的创建1.2 字符串的长度1.3 字符串的索引1.4字符串的切片2.列表 List2.1列表的创建2.2 列表的长度2.3 访问列表中的元素2.3.1 列表的索引2.3.2 列表的切片2.4 修改列表中的元素3. 元组 Tuple3.1 元组的创建与长度3.2 访问元组中的元素4.字典…

【精选】七天手撕分布式缓存之一

项目参考GitHub上的高分项目7days-golang&#xff0c;文章内不一定展示完整代码&#xff0c;文章的目的是分享自己在实现分布式缓存的过程中对具体代码实现的解释与见解&#xff0c;文章的编写的时间均是在项目实现之后&#xff0c;可放心参考&#xff0c;有些地方会加上自己对…

Java LeetCode篇-深入了解关于数组的经典解法

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 轮转数组 1.1 使用移位的方式 1.2 使用三次数组逆转法 2.0 消失的数字 2.1 使用相减法 2.2 使用异或的方式 3.0 合并两个有序数组 3.1 使用三指针方式 3.2 使用合…

Spring Cache(缓存框架)

学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持&#xff0c;想组团高效学习… 想写博客但无从下手&#xff0c;急需…

vue 中 js 金额数字转中文

参考&#xff1a;js工具函数之数字转为中文数字和大写金额_js封装工具类函数金额大写-CSDN博客 我使用的框架vol.core。 客户需求要将录入框的金额数字转换成中文在旁边显示&#xff0c;换了几种函数&#xff0c;最终确定如下函数 function changeToChineseMoney(Num) {//判断…

Android Termux SFTP如何实现远程文件传输

文章目录 1. 安装openSSH2. 安装cpolar3. 远程SFTP连接配置4. 远程SFTP访问4. 配置固定远程连接地址 SFTP&#xff08;SSH File Transfer Protocol&#xff09;是一种基于SSH&#xff08;Secure Shell&#xff09;安全协议的文件传输协议。与FTP协议相比&#xff0c;SFTP使用了…

【24届校招】c++选手还有机会吗?如何选择更好的出路?

一、今年为什么c选手就业形势如此艰难&#xff1f; 去年c岗位的火热&#xff0c;不少c选手拿到高薪offer&#xff0c;今年转c的人群变多&#xff0c;内卷加剧&#xff0c;高学历大佬多如牛毛&#xff0c;很多比较好的c岗位多人投递&#xff0c;僧多肉少。 从行情来说&#xf…

Selenium-Unittest单元测试框架

1、Unittest介绍 为什么要学习单元测试框架 测试用例的组织与运行需要单元测试框架的参与&#xff0c;从而满足不同测试场景的需要&#xff0c;单元测试框架提供了丰富的比较方法&#xff1a;实际结果与预期结果的对比测试结果 单元测试框架提供了丰富的日志&#xff1a;给出测…

livox 半固体激光雷达 gazebo 仿真 | 安装与验证

livox 半固体激光雷达 gazebo 仿真 | 安装与验证 livox 半固体激光雷达 gazebo 仿真 | 安装与验证livox 介绍安装验证 livox 半固体激光雷达 gazebo 仿真 | 安装与验证 livox 介绍 览沃科技有限公司&#xff08;Livox&#xff09;成立于2016年。为了革新激光雷达行业&#xf…

MySQL特点和基本语句

MySQL MySQL是一种流行的关系型数据库管理系统&#xff0c;由瑞典MySQL AB公司开发&#xff0c;现属于甲骨文公司&#xff08;Oracle&#xff09;旗下产品。MySQL是基于C语言开发的&#xff0c;它具有高性能、可扩展性、易用性等特点&#xff0c;并且支持大量的用户访问。 My…

使用 Kafka 和 Cassandra 构建实时异常检测实验

异常检测是一种跨行业方法&#xff0c;用于发现事件流中的异常情况 - 它适用于物联网传感器、金融欺诈检测、安全、威胁检测、数字广告欺诈和许多其他应用。此类系统检查流数据以检查是否存在异常或违规行为&#xff0c;并在检测到时发送警报以处理这些异常并确定它们是否确实代…

C语言重点编程题——11-20

目录 ★★★★★11.编一个程序,将磁盘中当前目录下名为“ccwl. txt"的文本文件复制在同一目录下,文k件名改为“ccw2. txt 12.编一个名为countc的函数,要求如下:(1)形式参数: array 存放字符串的字符型数组名(2)功能:统计array数组中大写字母的数目;(3)返回值:字符串中…

web:[NPUCTF2020]ReadlezPHP

题目 打开页面显示如下 没发现其他的线索&#xff0c;查看源代码 发现一个网址&#xff0c;访问这个页面查看 进行代码审计 这段代码是一个简单的 PHP 类&#xff0c;名为 HelloPhp。它有两个公共属性 $a 和 $b&#xff0c;并在构造函数中将它们分别初始化为字符串 "Y-m-…

Java 设计模式之命令模式

命令模式 介绍 命令模式是一种行为类设计模式&#xff0c;核心是将每种请求或操作封装为一个独立的对象&#xff0c;从而可以集中管理这些请求或操作&#xff0c;比如将请求队列化依次执行、或者对操作进行记录和撤销。 命令模式通过将请求的发送者&#xff08;客户端&#x…

Failed to load resource: the server responded with a status of 404 ()

路径问题&#xff1a; 路径省略前面的http://localhost:8080/ 就行了。

中兴交换机:DHCP的配置

一、配置说明 拓扑图 S1是中兴三层核心交换机&#xff0c;作为DHCP Server使用&#xff0c;同时作为网关&#xff0c;PC通过自动获取IP地址接入网络 注意事项&#xff1a; S1全局下需要配置&#xff1a;IP Pool&#xff0c;DHCP Policy&#xff0c;打开DHCP功能 S1接口下需…

Leetcode700 二叉搜索树中的搜索

题意理解&#xff1a; 首先明确二叉搜索树的定义&#xff1a; 根节点的值大于左子树所有节点值&#xff0c;小于右子树所有节点值。 二叉搜索树有其自己的顺序&#xff0c;不需要刻意强调遍历顺序。 解题方法&#xff1a; 递归和遍历都可以用。因为是在树里按照一定的规律找一个…