packagewebui.xUtils;importjava.io.File;importorg.testng.Reporter;importjxl.Cell;importjxl.Sheet;importjxl.Workbook;public classExcelReadJXL {/***jxl读取Excel

*指定文档路径及名称

* 指定开始及结束行,开始及结束列

*@paramsheet_name 为sheet工作表名称,也可以用整型数字,从0开始。

*@paramstart_row 开始行,0开始

*@paramend_row 结束行,0开始

*@paramstart_col 开始列,0开始

*@paramend_col 结束列,0开始

*@paramsourcefile .xls文件路径

*@returnObject[][]*/

private staticlogUtil log;public static Object[][] caseDataExcel(String sheet_name,int start_row,int end_row,int start_col,intend_col,String sourcefile){

String cell_value= null;

Cell cell= null;int row_length = end_row - start_row +1;int col_length = end_col - start_col +1;

String [][] testcase_data= newString [row_length][col_length];

Workbook testcase_data_book= null;try{

testcase_data_book= Workbook.getWorkbook(newFile(sourcefile));

Sheet testcase_data_sheet=testcase_data_book.getSheet(sheet_name);//判断输入的数值是否超出范围值

if (end_row-start_row+1>row_length) {

log.error("选择的行数超出实际数据范围!请修改起始结束行数..");

Reporter.log("选择的行数超出实际数据范围!请修改起始结束行数..");

}if (end_col-start_col+1>col_length) {

log.error("选择的数据列数超出实际数据范围内!请修改起始结束列数..");

Reporter.log("选择的数据列数超出实际数据范围内!请修改起始结束列数..");

}//整体思想为:按每行为一组数据进行读取//外循环--行数

for(int row = start_row,i = 0;row <= end_row || i < testcase_data.length ; row++,i++) {//单独一行时,读取每一列的数据//内循环--列数

for(int col = start_col,j = 0;col <= end_col || j < col_length ; col++,j++) {

cell=testcase_data_sheet.getCell(col,row);

cell_value=cell.getContents();

testcase_data[i][j]=cell_value;

}

}

}catch(Exception e) {

e.printStackTrace();

}//log.info("读取Excel数据完成!");

Reporter.log("读取Excel数据完成!");returntestcase_data;

}//读取全部sheet页数据

public staticObject[][] case_data_excel_jxl(String sheet_name,String sourcefile){

String cell_value= null;

Cell cell= null;

String[][] testcase_data= null;

Workbook testcase_data_book= null;try{

testcase_data_book= Workbook.getWorkbook(newFile(sourcefile));

Sheet testcase_data_sheet=testcase_data_book.getSheet(sheet_name);int rows =testcase_data_sheet.getRows();int cols =testcase_data_sheet.getColumns();

testcase_data= newString[rows][cols];//整体思想仍然是按行获取//外循环--行数

for(int i = 0 ; i < rows ; i++) {//内循环--列数,取每一行中每一列的数据

for(int j = 0 ; j < cols ; j++) {//数据形式为(列号,行号)

cell =testcase_data_sheet.getCell(j, i);

cell_value=cell.getContents();//存入字符串数组的形式为(行号,列号)

testcase_data[i][j] =cell_value;

}

}

}catch(Exception e) {

e.printStackTrace();

}returntestcase_data;

}}

jxl读取html格式excel,基于Java+Selenium的WebUI自动化测试框架(十)-----读取Excel文件(JXL)...相关推荐

  1. eclipse+java+selenium+testNG搭建自动化测试框架

    1 Java环境的搭建 1.1访问oracle的官网下载最新版本的jdk http://www.oracle.com/technetwork/java/javase/downloads/index-j ...

  2. java+Selenium+TestNg搭建自动化测试架构(1)实现代码和数据的分离

    1.主要介绍介绍Java+Selenium+POM的自动化测试框架的搭建,第一个首先实现代码和账号URL等信息的分离.第二点支持跨浏览器,通过读取配置文件的方式实现. 1)将账号URL等信息添加在pr ...

  3. Web 自动化解决方案 [开源项目] 基于 Selenium 的 Web 自动化测试框架完美版

    欢迎查阅Selenium(Web自动化测试框架体系) Selenium ) Selenium是一个用于Web应用程序的自动化测试工具,直接运行在浏览器中,就像真正的用户在操作一样• 支持的浏览器包括I ...

  4. java web典型模块大全_python+selenium基于po模式的web自动化测试框架

    一.什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台.跨浏览器的端到端的web自动化解决方案.Selenium主要包括三部分:Selenium IDE.S ...

  5. python selenium po_python+selenium基于po模式的web自动化测试框架

    一.什么是Selenium? Selenium是一个基于浏览器的自动化测试工具,它提供了一种跨平台.跨浏览器的端到端的web自动化解决方案.Selenium主要包括三部分:Selenium IDE.S ...

  6. python+selenium基于po模式的web自动化测试框架

    目录:导读 一.什么是Selenium? 二.自动化测试框架 三.自动化框架的设计和实现 四.需要改进的模块 五.总结 一.什么是Selenium? Selenium是一个基于浏览器的自动化测试工具, ...

  7. 基于JAVA汽车租赁系统 (Springboot框架) 开题报告

      本科生毕业论文 基于Java(springboot框架)汽车租赁系统 开题报告 学    院: 专    业: 计算机科学与技术 年    级: 学生姓名: 指导教师:   XXXX大学本科生毕业 ...

  8. Selenium WebDriver + python 自动化测试框架

    目标 组内任何人都可以进行自动化测试用例的编写 完全分离测试用例和自动化测试代码,就像写手工测试用例一下,编写excel格式的测试用例,包括步骤.检查点,然后执行自动化工程,即可执行功能自动化测试用例 ...

  9. u3d 模版测试 失败_基于Python的HTTP接口自动化测试框架实现

    一.测试需求描述 对服务后台一系列的http接口功能测试. 输入:根据接口描述构造不同的参数输入值 输出:XML文件 二.实现方法 1.选用Python脚本来驱动测试 2.采用Excel表格管理测试数 ...

最新文章

  1. 给AI系统做“安全体检”,阿里安全提出自动化AI对抗平台CAA | AAAI 2021
  2. 九大排序算法,你会几个?
  3. c语言最简单程序实例,C语言第一个简单实例
  4. fork创建多个子进程
  5. ios 逆向编程(环境搭建)
  6. 丘成桐:年轻学者要敢于“无法无天”
  7. JS实现的文章字符串中某个字符总个数统计在线小工具实例
  8. mysql如何重复_mysql 处理重复数据
  9. 通信值勤维护管理条例_加强固定通信台站值勤管理与建设
  10. 在GitHub上删除项目后,在Android Studio上传项目依然提示project is already on github
  11. [转]JavaScript程序编码规范
  12. 超级全面的MySQL优化面试解析
  13. Android中CheckBox与CompoundButton源码解析
  14. Mac上redis下载安装与配置详细版
  15. GEE实战3:利用GEE获取区域的长系列日均气温变化【逐日气温变化分析】
  16. 猜拳游戏(C语言-Linux-简单可视化)
  17. java gef_GEF简介
  18. 为什么在大多数OS中都引入”打开“这一文件系统调用?打开的含义是什么?...
  19. 【烈日炎炎战后端】Spring(2.1万字)
  20. 人力资源管理七大问题

热门文章

  1. “知识图谱+”系列:知识图谱+强化学习
  2. webstorm配置Monokai-Sublime.jar主题
  3. 有用的Python模块 - pprint
  4. 8月读书分享-《执行力是训练出来的》
  5. 【ACM】hdu_1862_EXCEL排序_201308091948
  6. pidgin-qq可以使用QQ2012协议了
  7. 配置信息的优化,类型转换器
  8. weblogic作为linux服务器,weblogic在linux服务器上部署应用
  9. mysql8 修改加密方式_mysql8修改密码加密方式
  10. gitbook mysql_使用Gitbook做笔记