【转】四种方法实现自动化的逻辑部分和数据处理独立性-3.1

上一篇 / 下一篇  2013-11-26 11:01:46 / 个人分类:自动化测试

三、使用excel表格读取测试数据

1. 首先我们要用到的readExcel()这个方法,由于此方法中涉及到一些操作Excel 表格的API方法引用自jxl.jar这个包,所以大家需要确保在项目的Java Build Path里边需要添加testng.jar这个包。

注:jxl.jar这个jar包可以在网上搜索到的,下载下来就可以用了,这次试验用到的是这个jar包。当然我们也可以通过java的poi技术读取和导入Excel,感觉poi技术比使用jxl.jar 包难一些,但是poi的功能很强大。

 

我把readExcel()这个方法放在一个单独的类里边,类名为ExcelReader,如下

package com.test.java;

 

import java.io.File;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.util.ArrayList;

import java.util.List;

 

import jxl.Cell;

import jxl.Sheet;

import jxl.Workbook;

import jxl.read.biff.BiffException;

 

/**

 * 读取excle公共方法

 * @author Rob

 *

 */

public class ExcelReader

{

    /**

     *

     * @param excelFile 读取文件对象

     * @param rowNum 从第几行开始读,如果有一行标头则从第二行开始读

     *

     * @return

     * @throws BiffException

     * @throws IOException

     */

  

    public static String[] readExcel(File excelFile, int rowNum) throws BiffException,IOException

    {

       // 创建一个list用来存储读取的内容

       List<String[]> list = new ArrayList<String[]>();

       Workbook rwb = null;

       Cell cell = null;

       // 创建输入流

       InputStream stream = new FileInputStream(excelFile);

       // 获取Excel文件对象

       rwb = Workbook.getWorkbook(stream);

       // 获取文件的指定工作表  默认的第一个

       Sheet sheet = rwb.getSheet(0);

       // 行数(标头的目录不需要,从1开始)

       for (int i = rowNum-1; i < sheet.getRows(); i++)

       {

           // 创建一个数组  用来存储每一列的值

           String[] str = new String[sheet.getColumns()];

           // 列数

           for (int j = 0; j < sheet.getColumns(); j++)

           {

              // 获取第i行,第j列的值

              cell = sheet.getCell(j, i);

              str[j] = cell.getContents();

           }

           // 把刚获取的列存入list

           list.add(str);          

       }

       return list.get(rowNum);

    }

    }


TAG: 数据 独立

 

评分:0

我来说两句

Open Toolbar