Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当我输入Excel文件时,如何在selenium apache poi中使我的路径相对?以及如何在执行测试后将测试结果写入excel_Java_Selenium_Apache Poi - Fatal编程技术网

Java 当我输入Excel文件时,如何在selenium apache poi中使我的路径相对?以及如何在执行测试后将测试结果写入excel

Java 当我输入Excel文件时,如何在selenium apache poi中使我的路径相对?以及如何在执行测试后将测试结果写入excel,java,selenium,apache-poi,Java,Selenium,Apache Poi,如何使我的路径成为相对路径? 示例..\\ TestCase.xls 它应该在系统中搜索文件并调用它,这是要求 FileInputStream input=new FileInputStream(new File("C:\\Report\\TestCase.xls")); HSSFWorkbook workbook=new HSSFWorkbook(input); HSSFSheet sheet=workbook.getSheet("KeywordFramework"); System.out.

如何使我的路径成为相对路径? 示例..\\ TestCase.xls 它应该在系统中搜索文件并调用它,这是要求

FileInputStream input=new FileInputStream(new File("C:\\Report\\TestCase.xls"));
HSSFWorkbook workbook=new HSSFWorkbook(input);
HSSFSheet sheet=workbook.getSheet("KeywordFramework");
System.out.println("i am in");

这是我用来比较website和excel中的值的代码,这里我告诉IDE将通过/失败结果放在第18个单元格中,我想使其成为动态的,也放在i1中,只要您将有效的FileInputStream传递给POI,您就可以使用任何想要打开工作簿的有效文件路径。因此,以下代码应该可以正常工作:

HSSFWorkbook workbook=new HSSFWorkbook(input);
  ExpectedOP=Cellvalue;
    int LastRow = 1;
        for(int i1=1;i1<5;i1++)
        {
        String sr [] =new String [10];
        sr[i1]=driver.findElement(By.xpath(".//*[@id='stepList']/li["+i1+"]")).getText();
        System.out.println("UserID = "+sr[i1]);
        for (int j1=1;j1<sr.length;j1++)
            {
            if(ExpectedOP.equals(j1))
            {
                System.out.println("compare pass");
                String status="PASS";
                Row row1 = sheet.getRow(LastRow);

                Cell cell2 = row1.createCell(18);
                cell2.setCellValue(status);
                System.out.println(status);

                input.close();
                FileOutputStream outFile =new FileOutputStream(new File("TestCase.xls"));
                workbook.write(outFile);
            }
            else
            {
            System.err.println("compare fail");
            String status = "FAIL";
            Row row1 = sheet.getRow(LastRow);

            Cell cell2 = row1.createCell(18);
            cell2.setCellValue(status);
            System.out.println(status);

            input.close();
            FileOutputStream outFile =new FileOutputStream(new File("TestCase.xls"));
            workbook.write(outFile);
            }
            }
        }
你能试一下吗

FileInputStream input=new FileInputStream(new File("../../TestCase.xls"));
HSSFWorkbook workbook=new HSSFWorkbook(input);
HSSFSheet sheet=workbook.getSheet("KeywordFramework");
System.out.println("i am in");

在你的代码里?我认为应该有效。

请参考:这不是硒的问题!这是一个在系统中查找文件的纯Java问题。嗨,帮手,我去了你给我提供的链接我使用建议的代码得到了文件的路径,但poi认为路径是示例:C//123//test.xls建议的代码以正常方式给出路径,即C/123/test.xls,不管怎样,我能解决这个问题吗?POI可以考虑路径D:\\DATA XLyes,你可以在上面提到的代码中观察到:“无论如何,我可以改变路径吗?”IOExt被捕获了!java.io.FileNotFoundException:..\..\TestCase.xls系统找不到指定的文件这是我遇到的错误,其中as TeastCase.xls位于代码所在的同一文件夹中,请检查您当前的工作目录。上面的代码将查找与此工作目录相关的文件。例如,当运行maven项目时,它不是源文件所在的目录,而是项目的根目录。要获取工作目录,您可以尝试:File workingDir=new File;System.out.printlnWorking目录为:+workingDir.getAbsolutePath;
 FileInputStream input=new FileInputStream(new File("TestCase.xls"));