selenium中获取文件中测试数据的封装方法
上一篇 /
下一篇 2016-09-11 16:37:43
/ 个人分类:selenium
以下函数可以读取csv以及exce表格的
测试数据,并以2维数组的形式返回。
package dhb.autotest;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class Getfiledata {
Object[][] getData(){
return new Object[][]{{"蝙蝠侠","主演","迈克尔"},{"超人","导演","唐纳"},{"生化危机","编剧","安德森"}};
}
Object[][] getCsv(String filepath) throws Exception{
FileInputStream in=new FileInputStream(filepath);
InputStreamReader isr=new InputStreamReader(in);
BufferedReader br=new BufferedReader(isr);
br.readLine();
String line;
List<Object[]> list=new ArrayList<Object[]>();
while((line=br.readLine())!=null){
list.add(line.split(","));
}
br.close();
isr.close();
in.close();
Object[][] ss=new Object[list.size()][];
for(int i=0;i<list.size();i++){
ss[i]=list.get(i);
}
return ss;
}
Object[][] getXls(String filepath,String filename,String sheetname) throws Exception{
File file=new File(filepath+"//"+filename);
FileInputStream in=new FileInputStream(file);
Workbook workbook = null;
String fileExtentionName=filename.substring(filename.indexOf(".")+1);
if(fileExtentionName.equals("xls")){
workbook=new HSSFWorkbook(in);
}else if(fileExtentionName.equals("xlsx")){
workbook=new XSSFWorkbook(in);
}else{
System.out.println("erro:文件扩展名不是xls或xlsx,无法读取数据!!!!");
return null;
}
Sheet sheet=workbook.getSheet(sheetname);
int rowcount=sheet.getLastRowNum()-sheet.getFirstRowNum();
List<Object[]> list=new ArrayList<Object[]>();
Object[] cells;
for(int i=1;i<=rowcount;i++){
Row row=sheet.getRow(i);
int colcount=row.getLastCellNum()-row.getFirstCellNum();
cells=new Object[colcount];
for(int j=0;j<colcount;j++){
cells[j]=row.getCell(j).getStringCellValue();
}
list.add(cells);
}
Object[][] datas=new Object[rowcount][];
for(int i=0;i<list.size();i++){
datas[i]=list.get(i);
}
in.close();
return datas;
}
}
收藏
举报
TAG: