我需要在xls文件或csv文件中编写测试用例名称和结果。我已经使用了现有的文件并将结果写入现有的文件中,它返回NULL指针异常,行* cell = row.getCell(0); *需要写结果在Xls
下面给出我的代码..
package com.testCases;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import com.test.utility.PrintResultinExcel;
import com.test.utility.ReadExcelSheet;
import com.test.utility.clearText;
import com.test.utility.clickEvent;
import com.test.utility.globalVariables;
import com.test.utility.selectCheckbox;
import com.test.utility.text;
import com.test.utility.verifyText;
import com.test.utility.writeExcel;
public class SQLInject extends globalVariables{
public static void sqlinjection() throws InterruptedException, IOException{
ArrayList<HashMap> data = ReadExcelSheet.readExcel("Sheet1");
int size = data.size();
System.out.println("Total Number of Keywords: "+size);
for(int i=0;i<=size-1;i++){
clickEvent.clickAt("allcustomers_linkText");
Thread.sleep(2000);
clickEvent.clickAt("sqlquery_xpath");
Thread.sleep(2000);
String keyword = data.get(i).get("Keywords").toString();
text.enterText("sql_id", keyword);
clickEvent.clickAt("sqlsearchbutton_id");
verifyText.verify("SQL statement does NOT contain valid keywords.");
String result="PASS";
PrintResultinExcel.excelLog(keyword, result, i);
}
}
}
实用程序文件:
package com.test.utility;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
public class PrintResultinExcel extends globalVariables {
public static void excelLog(String keyword, String result, int rowNum) {
try {
FileInputStream file = new FileInputStream(new File("D:\\testexcel.xls"));
HSSFWorkbook workbook = new HSSFWorkbook(file);
HSSFSheet sheet = workbook.getSheetAt(0);
// Find empty cell
HSSFRow row = sheet.getRow(rowNum);
Cell cell = null;
cell=row.getCell(0);
cell.setCellValue(keyword);
cell=row.getCell(1);
cell.setCellValue(result);
// Update the value of cell
file.close();
FileOutputStream outFile = new FileOutputStream(new File("D:\\testexcel.xls"));
workbook.write(outFile);
outFile.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
不要创建新文件;只需将新数据或新工作簿添加到现有文件。 – duffymo
可能的重复http://stackoverflow.com/questions/5509073/appending-data-in-an-excel-file – Bikku