使用java在Selenium中更新文件,然后上载文件
我有一个场景,首先使用一个测试用例(测试用例1)用特定值更新excel列,然后在下一个测试用例(测试用例2)中使用该文件进行上传。我能够成功地更新文件,也能够浏览文件上传。问题是没有从文件中读取内容。我只需要打开创建的excel文件并手动执行保存操作,然后在运行与上载相关的测试(测试用例2)时,它就可以正常工作。我不确定是什么导致了这个问题。如果有人能支持这个问题,那将是非常有帮助的
以下是测试步骤
更新文件列值-代码段
public void setColValues(String fileName, String sheetName, int colIndex, List<Integer> sData) { try { String excelPath = System.getProperty("director to file path"); FileInputStream fis = new FileInputStream(excelPath); XSSFWorkbook workbook = new XSSFWorkbook(fis); XSSFSheet sh = workbook.getSheet(sheetName); int rowCount = sh.getLastRowNum(); logger.info(rowCount); int index = 0; for (int rowCounter = 2; rowCounter <= rowCount; rowCounter++) { sh.getRow(rowCounter).getCell(colIndex).setCellValue(sData.get(index)); index++; } fis.close(); FileOutputStream fos = new FileOutputStream(new File(excelPath), false); workbook.write(fos); workbook.close(); fos.close(); fis.close(); } catch (Exception e) { e.printStackTrace(); } }
转到特定的URL
单击浏览按钮并传递文件路径
点击按钮上传
# 1 楼答案
这可能是因为您没有将
File
实例传递给FileInputStream
构造函数你写道:
请尝试: