我正在尝试用Java开发一个数据驱动的Selenium自动化框架。我编写了代码来从excel表读取输入测试数据。 excel表包含两列 - 用户名和密码。我使用以下代码读取了excel数据。
String testData;
for(int j=1;j<currentRow.getPhysicalNumberOfCells();j++){
if(currentRow.getCell(j)!==null)
{
if(currentRow.getCell(j).getCellType()==Cell.CELL_TYPE_BOOLEAN){
testData=Boolean.toString(currentRow.getCell(j).getBooleanCellValue());
}
if(currentRow.getCell(j).getCellType()==Cell.CELL_TYPE_NUMERIC){
testData=Double.toString(currentRow.getCell(j).getNumericCellValue());
}
if(currentRow.getCell(j).getCellType()==Cell.CELL_TYPE_STRING){
testData=currentRow.getCell(j).getStringValue();
}
}
}
问题是如果密码是123,上面的代码将返回值123.0,因此测试用例失败。我无法删除小数点,因为如果实际密码是123.0,它将返回结果123.如何读取单元格中给出的Excel数据?
答案 0 :(得分:2)
在开始阅读之前添加cell.setCellType(Cell.CELL_TYPE_STRING);
。
如果您要做的是获取数值单元格的String值, 停!。这不是这样做的方法。相反,用于获取字符串 数字或布尔或日期单元格的值,请改用DataFormatter。
答案 1 :(得分:0)
以字符串格式读取所有内容然后进行比较