java操作Excel,需要第三方库poi

#xml
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
<scope>test</scope>
</dependency>

Excel测试数据

读取Excel的java文件

#java
package com.netease.utils; import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook; import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List; /**
* @author by LiHe on 2018/8/12.10:15
*/
public class ExcelReader { public static Object[][] getTestData(String fileName, String sheetName) throws IOException { File file = new File(fileName);
FileInputStream inputStream = new FileInputStream(file);
Workbook workbook = null; /**
* 获取文件名参数的拓展名,判断是.xlsx还是xls
*/ String fileExtensionName = fileName.substring(fileName.indexOf("."));
/**
* 如果是.xlsx,则使用XSSFWorkbook对象进行实例化
* 如果是.xls,则使用HSSFWorkbook对象进行实例化
*/ if (fileExtensionName.equals(".xlsx")) {
workbook = new XSSFWorkbook(inputStream);
} else if (fileExtensionName.equals(".xls")) {
workbook = new HSSFWorkbook(inputStream);
} else {
System.out.println("该文件不是excel文件");
} /**
* 通过sheetName参数,生成sheet对象
*/ Sheet sheet = workbook.getSheet(sheetName); /***
* 获取Excel数据文件sheet1中数据的行数,getLastRowNum方法获取数据的最后一行行号
* getFirstRowNum方法获取数据的第一行行号,相减之后算出数据的行数
* Excel的行号和列号都是从0开始的
*/
int rowCount = sheet.getLastRowNum() - sheet.getFirstRowNum(); /***
* 创建名为records的list对象来存储从Excel中读取的数据
*/ List<Object[]> records = new ArrayList<Object[]>(); /**
* 使用两个for循环遍历Excel数据文件的所有数据。(除去第一行的列名称)
*/
for (int i = 1; i <= rowCount; i++) {
Row row = sheet.getRow(i); /**
* 声明一个数组files,用来存储excel数据文件每行数据,数组的大小用getLastCellNum方法来进行动态声明。
*/ String files[] = new String[row.getLastCellNum()]; for (int j = 0; j < row.getLastCellNum(); j++) {
Cell cell =row.getCell(j);
cell.setCellType(CellType.STRING);
files[j] = cell.getStringCellValue();
}
records.add(files);
} Object[][] results = new Object[records.size()][];
for (int i = 0; i < records.size(); i++) {
results[i] = records.get(i);
} return results; } }

测试类

#java
package testdata; import org.testng.annotations.DataProvider;
import org.testng.annotations.Test; import java.io.IOException; public class TestExcel {
@DataProvider(name = "excel")
public Object[][] testData() throws IOException {
return ExcelReader.getTestData("src/test/java/testdata/testExcelData.xlsx","Sheet1");
}
@Test(dataProvider = "excel")
public void test(String company,String people){
System.out.println(company+"\t"+people);
}
}

result:

阿里 马云

腾讯 马化腾

网易 丁磊

*

Default Suite

Total tests run: 3, Failures: 0, Skips: 0

===============================================*

接口测试3-3Excel格式的更多相关文章

  1. postman做接口测试 application/x-www-form-urlencoded 格式与json格式互转

    背景:用postman做接口测试可以使用application/x-www-form-urlencoded请求,也可以使用json请求,接口文档如下: 请求参数 字段 类型 是否必填 注释 websi ...

  2. Alpha阶段测试报告

    测试说明 APP中前后端交互的接口主要有两种,一种是游戏开始前获取信息的HTTP请求接口,这种接口可以看成是静态的,比较简单:另外一种就是游戏过程中进行实时通信的Websocket请求接口,因为这是在 ...

  3. 接口测试xml格式转换成json

    未经允许,禁止转载!!!! 接口测试一般返回的是xml和json,现在大多数时候是返回成json的格式,但是有时候也会出现xml格式, 由于xml格式的文件阅读起来不是很容易懂,所以尽量将xml转换成 ...

  4. robot framework 接口测试 http协议post请求json格式

    robot framework 接口测试 http协议post请求json格式 讲解一个基础版本.注意区分url地址和uri地址. rf和jmeter在添加服务器地址也就是ip地址的时候,只能url地 ...

  5. webservice接口测试wsdl,参数是xml格式。python,入参转化成str,返回值转化成dict调用

    1.用SoapUI测试webservice接口,传入参数是xml格式时.xml格式需要将xml的外围增加<![CDATA[xml]]> 2.但是用python去做webservice测试, ...

  6. [JsonSchema] 关于接口测试 Json 格式比对核心算法实现 (Java 版)

    引言 为什么要自己重新造轮子,而不是采用第三方的JsonSchema方法进行实现存在以下痛点:1.我之前在网上找了很久,没有找到java版直接进行jsonschema生成的方法或直接比较的方法2.ht ...

  7. 【SoapUI、Postman、WebServiceStudio、Jmeter】接口测试工具结合测试webservice接口(发送XML格式参数)

    目录: SoapUI测试webservice接口,发送XML格式参数 Postman测试webservice接口,发送XML格式参数 WebServiceStudio.exe测试webservice接 ...

  8. 使用yaml格式进行接口测试报错

    前言:本人公司使用yaml做接口测试.某日开发写了一个字典嵌套列表,列表里面再嵌套字典的接口. yaml的值应该为下图(注意缩进问题)   加了-代表下面是一个列表 {'uid': '3a61479f ...

  9. python sha256 键值对参数格式接口测试

    # coding=utf-8 import requests import time import uuid import hashlib import hmac import random impo ...

  10. python接口测试3-JSON格式

    什么是JSON? 一种轻量级的数据交换格式.它独立于语言和平台,JSON解析器和JSON库支持不同的编程语言.JSON具有自我描述性,很容易理解. 数据格式: { "name":& ...

随机推荐

  1. Thrift之双向通讯

    在实际应用中,却经常会有客户端建立连接后,等待服务端数据的长连接模式,也可以称为双向连接.一.双连接,服务端与客户端都开ThriftServer如果网络环境可控,可以让服务端与客户端互相访问,你可以给 ...

  2. (libev) cannot allocate xxx bytes, aborting 问题的一种触发条件

    最近在项目中使用了libev,遇到一个很奇怪的crash,服务器运行随机时间后有一定的概率奔溃,输出的最后一行log是: (libev) cannot allocate xxx bytes, abor ...

  3. iOS 开发 Framework

    制作Framework 的好处和缺点 好处:       1.如果模块间接口定义的比较完善,模块化的程序具有很好的可扩展性与内聚性:       2.物理上的模块化便于开发过程的管理与测试,尤其是在程 ...

  4. eclipse ubuntu error

    eclipse cdt :symbol cout can not be solved Preferences -> C/C++ -> Indexer -> Use active bu ...

  5. error: QXcbConnection: Could not connect to display

    /********************************************************************************* * error: QXcbConn ...

  6. 使用Django+MySQL+Apache+Linux创建简单的博客

    本教程基于慕课网<Django入门与实践>编写,基于CentOS 7 基础知识 什么是django? Django是一个基于Python的高级Web开发框架, 特点:高效,快速,高度集成( ...

  7. CF1092(div3):Great Vova Wall (栈)(还不错)

    D1. Great Vova Wall (Version 1): 题意:给定长度为N的墙,以及每个位置的一些高度,现在让你用1*2的砖和2*1的砖去铺,问最后能否铺到高度一样. 思路:分析其奇偶性,在 ...

  8. jsp之response方法

    response简介 response对象:对客户端的请求作出回应,将Web服务器处理后的结果发回客户端. response对象:属于javax.servlet.HttpServletResponse ...

  9. PyCharm首次使用(Hell world!)

    作为PyCharm编辑器的起步,我们理所当然的先写一个Hello word,并运行它.(此文献给对IDE不熟悉的初学者) 1,新建一个项目 File --> New Project... 2,新 ...

  10. spfa【模板】

    #include<iostream> #include<cstdio> #include<cstring> #include<queue> using ...