概述
在 QTP 中,可以 通过 COM访问 Excel ,或者通过 ADO 以数据库查询的方式访问 Excel 中存储的数据。而在 RFT 中,则好像没有这么直接的用法。需要导入专门处理 Excel 数据的 JXL 包:
http://www.andykhan.com/jexcelapi/
JExcelApi is a Java API for reading, writing and modifying the contents of Excel spreadsheets
封装一个处理 Excel 的类出来:
package Lib;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
public class ExcelService {
private String path = null;
private String sheetname = null;
public ExcelService(String FilePath,String SheetName){
path = FilePath;
sheetname = SheetName;
}
public String read(int colum, int row) throws Exception {
FileInputStream fileInputStream = new FileInputStream(path);
Workbook workbook = Workbook.getWorkbook(fileInputStream);
Sheet sheet = workbook.getSheet(sheetname);
Cell cell = sheet.getCell(colum, row);
String content = cell.getContents();
workbook.close();
fileInputStream.close();
return content;
}
public int getRowCount() throws Exception {
FileInputStream fileInputStream = new FileInputStream(path);
Workbook workbook = Workbook.getWorkbook(fileInputStream);
Sheet sheet = workbook.getSheet(sheetname);
int count = sheet.getRows();
workbook.close();
fileInputStream.close();
return count;
}
public int getClumnCount() throws Exception {
FileInputStream fileInputStream = new FileInputStream(path);
Workbook workbook = Workbook.getWorkbook(fileInputStream);
Sheet sheet = workbook.getSheet(sheetname);
int count = sheet.getColumns();
workbook.close();
fileInputStream.close();
return count;
}
}
然后使用 Excel 数据作为数据驱动的数据源:
public void testMain(Object[] args)
{
ExcelService excel = new ExcelService( "D://RFT//RFT_Project//DataDriven//Data//TestExcelData.xls" , "Sheet1" );
try {
int rowCount = excel.getRowCount();
int colCount = excel.getClumnCount();
for ( int i=0;i<rowCount;i++)
{
System. out .println( "new line:" );
for ( int j=0;j<colCount;j++){
System. out .println(excel.read(j, i));//取到Excel的每个单元格的数据
}
}
} catch (Exception e) {
e.printStackTrace ();
}
}
最后
以上就是机灵刺猬为你收集整理的在RFT中使用Excel进行数据驱动测试的全部内容,希望文章能够帮你解决在RFT中使用Excel进行数据驱动测试所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复