我是 Java 和 Selenium 的新手,Selenium 很有趣,我正在使用 TestNG 数据驱动框架开发 Selenium WebDriver。
有一个 Excel 实用程序,可以使用 HSSF 将数据写入 excel
SuiteUtility.WriteResultUtility(FilePath, TestCaseName, "Pass/Fail/Skip", DataSet+1, "PASS");
我打算使用常量文件代替硬编码,而不是硬编码。例如,
公共静态最终字符串 KEYWORD_PASS = "PASS";
公共静态最终 int COL_TEST_CASE_RESULT = 10; // 把它放在第 10 列
所以它会像这些并且变得更易于管理
SuiteUtility.WriteResultUtility(FilePath_TestResult, TestCaseName, Constant.COL_TEST_CASE_RESULT, DataSet+1, Constant.KEYWORD_PASS);
我的问题是如何修改下面的代码,以便我可以将 String colName 更改为 int 列号。
public boolean writeResult(String wsName, String colName, int rowNumber, String Result){
try{
int sheetIndex=wb.getSheetIndex(wsName);
if(sheetIndex==-1)
return false;
int colNum = retrieveNoOfCols(wsName);
int colNumber=-1;
HSSFRow Suiterow = ws.getRow(0);
for(int i=0; i<colNum; i++){
if(Suiterow.getCell(i).getStringCellValue().equals(colName.trim())){
colNumber=i;
}
}
if(colNumber==-1){
return false;
}
HSSFRow Row = ws.getRow(rowNumber);
HSSFCell cell = Row.getCell(colNumber);
if (cell == null)
cell = Row.createCell(colNumber);
cell.setCellValue(Result);
opstr = new FileOutputStream(filelocation);
wb.write(opstr);
opstr.close();
}catch(Exception e){
e.printStackTrace();
return false;
}
return true;
}