前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >《手把手教你》系列技巧篇(六十六)-java+ selenium自动化测试 - 读写excel文件 - 上篇(详细教程)

《手把手教你》系列技巧篇(六十六)-java+ selenium自动化测试 - 读写excel文件 - 上篇(详细教程)

作者头像
北京-宏哥
发布2022-03-09 10:40:57
1.1K0
发布2022-03-09 10:40:57
举报

1.简介

在自动化测试,有些我们的测试数据是放到excel文件中,尤其是在做数据驱动测试的时候,所以需要懂得如何操作获取excel内的内容。由于java不像python那样有直接操作Excle文件的类库,所以我们必须借助第三方工具:POI(基于Apache的POI类库)

2.常见读写Excel的工具类开源javaAPI

目前常见读写Excel的工具类开源javaAPI有两种方式:

一个是JXL(Java Excel API) 官网地址:http://jexcelapi.sourceforge.net/

一个是Apache的POI(Poor Obfuscation Implementation)官网地址:http://poi.apache.org/

POI支持微软的OLE2格式文件Office 2003及以下版本;同时支持微软的OOXML(Office Open XML)标准,也就是Office 2007以上版本。JXL只能实现对Excel 2003以下版本的支持。

POI使用HSSF对象操作OLE2格式Excel,文件后缀为.xls的;使用XSSF、SXSSF对象操作OOXML格式Excel,文件后缀为.xlsx的。

对于OLE2版本的Excel,一个Sheet工作表它的行最多支持到65536行,列支持到256列;

对于OOXML版本的Excel,一个Sheet工作表它的行支持到1048576行,列支持到16384列。

3.基于Apache的POI类库

3.1下载POI

1.打开网站http://poi.apache.org/download.html,选择下面5.2.0版本下载。如下图所示:

2.选择ZIP包下载。如下图所示:

3.下载完后解压,文件结构如下图所示:

4.项目实战

4.1jar文件添加

1.把POI文件添加在你Selenium当前项目的library中

先新建一个文件夹,把解压出来的所有的xx.jar都放在新的文件夹,然后右键你的eclipse工程> Build path > Configure build path > 点击lib > Add external jar,新建文件夹内所有的xxx.jar都选中。

或者,你只需要以下几个jar文件就可以。

注意,这些jar文件不在同一个路径,你需要到不同路径去拷贝复制到一个新文件夹,然后把这个文件夹的所有jar文件拷贝到你eclipse项目下的Files文件夹,需要右键你工程,新建一个叫Files的文件夹。我的项目,采取这种方法,我不希望拷贝全部jar到项目lib中。

4.2准备Excle文件

1. 准备一个test-data.xlsx文件

桌面新建一个test-data.xlsx,然后输入如下内容,并且把这个文件放到eclipse项目中。

4.3代码设计

1.新建一个ReadExcel.java的文件,输入如下代码。

4.4参考代码
代码语言:javascript
复制
package lessons;

import java.io.File;
import java.io.FileInputStream;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

/**
 * @author 北京-宏哥
 * 
 * @公众号:北京宏哥
 * 
 * 《手把手教你》系列技巧篇(六十六)-java+ selenium自动化测试 - 读写excel文件(详细教程) 
 *
 * 2022年2月10日
 */
public class ReadExcel {
    
    public static void main(String[] args) {
            
            try{
                
                // 指定excel的路径
                File src = new File(".\\Files\\test-data.xlsx");
                
                // 加载文件
                FileInputStream fis = new FileInputStream(src);
                
                // 加载workbook
                @SuppressWarnings("resource")
                XSSFWorkbook wb=new XSSFWorkbook(fis);
                
                //加载sheet,这里我们只有一个sheet,默认是sheet1
                XSSFSheet sh1= wb.getSheetAt(0);
                
                // 开始读取第一行第一列的数据
                System.out.println(sh1.getRow(0).getCell(0).getStringCellValue());
                // 读取第一行第二列内容
                System.out.println(sh1.getRow(0).getCell(1).getStringCellValue());
                // 读取第二行第二列内容
                System.out.println(sh1.getRow(1).getCell(0).getStringCellValue());
                // 读取第二行第二列内容
                System.out.println(sh1.getRow(1).getCell(1).getStringCellValue());
                
                // 获取实际总行数
                System.out.println(sh1.getPhysicalNumberOfRows());
                
                // 获取实际总列数
                System.out.println(sh1.getPhysicalNumberOfRows());
                
            } catch (Exception e){
                
                System.out.println(e.getMessage());
                
            }
     
    }

}
4.5运行代码

1.运行代码,右键Run AS->Java Appliance,控制台输出,如下图所示:

5.小结

小伙伴或者童鞋们在运行代码时,可能会报错:主要的原因是宏哥前边的jar包内容不是很全,按照下图导入jar包,就可以了,宏哥猜测是之前的版本低,后来升级了,导致jar包改变;还有一个原因就是POI的版本和其他的不匹配。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-02-15 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.简介
  • 2.常见读写Excel的工具类开源javaAPI
  • 3.基于Apache的POI类库
    • 3.1下载POI
    • 4.项目实战
      • 4.1jar文件添加
        • 4.2准备Excle文件
          • 4.3代码设计
            • 4.4参考代码
              • 4.5运行代码
              • 5.小结
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档