使用 selenium WebDriver 打开文件,当它位于 maven 项目的资源文件夹中时



我正在尝试使用webdriver(.txt和pdf(打开不同类型的文件。所以我在资源文件夹中有文件,但是当我打开它们时,我收到以下错误消息:格式错误的异常

但是如果我从桌面打开文件,它工作得很好:

例如,这就是我所拥有的:

 String file_loc = logInPage.getFile(file_name);
    logInPage.navigateToFileLoc(file_location);

这是两种方法的实现

 public String getFile(String fileName) {
        String result = "";
        ClassLoader classLoader = getClass().getClassLoader();
        try {
            result = IOUtils.toString(classLoader.getResourceAsStream(fileName), java.nio.charset.StandardCharsets.UTF_8);
        } catch (IOException e) {
            e.printStackTrace();
        }
        return result;
    }
public void navigateToFileLoc(String fileLoc){
   webDriver.get(fileLoc);
}

但是当我尝试从桌面获取文件时,它工作得很好:例如 webDriver.get("file:///C:/Users/test.pdf"(

这就像您尝试在IDE中打开pdf或html一样。

您能否更改getFile方法,如下所示:

public String getFile(String fileName) {
        String filePath = null;
        ClassLoader classLoader = getClass().getClassLoader();
        try {
            filePath= classLoader.getResource(fileName).getPath();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return  "file://"+filePath;
    }

最新更新