java - 如何下载Java项目资源目录中的文件

标签 java excel selenium-webdriver

我有一个场景,我单击应用程序中的下载链接,它会在我的本地驱动器中下载 Excel 工作表。我正在使用 selenium webdriver 来自动化和验证文件是否确实已下载。我能够下载文件并验证其在本地文件系统中的存在。但是如何在我的项目的资源目录中制作webdriver下载文件。

这就是我现在正在做的事情:

System.setProperty("webdriver.chrome.driver", Constants.Chrome_Driver_Path_Win);
            HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
            chromePrefs.put("profile.default_content_settings.popups", 0);
            chromePrefs.put("download.default_directory", "C:\\pixeldownload");
            ChromeOptions options = new ChromeOptions();
            options.setExperimentalOption("prefs", chromePrefs);
            DesiredCapabilities cap = DesiredCapabilities.chrome();
            cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
            cap.setCapability(ChromeOptions.CAPABILITY, options);
            driver = new ChromeDriver(cap);

现在我正在硬编码“C:\pixeldownload”,但我想将该文件放入我的 java 项目中的“resource”文件夹中。

chromePrefs.put(“download.default_directory”,“资源”)。将目的地作为“资源”对我没有帮助。如何下载“资源”目录中的文件。

public boolean isFileDownloaded(String downloadPath,String fileName) {
        boolean flag = false;
        File dir = new File(System.getProperty("user.dir") + "\\resources\\downloads");
        File[] dir_contents = dir.listFiles();
        for (int i = 0; i < dir_contents.length; i++) {
            if (dir_contents[0].getName().contains(fileName))   
                return flag=true;   
                }
        return flag;
    }

最佳答案

如果您想将文件下载到测试资源目录,请尝试以下操作:

String downloadDir = System.getProperty("user.dir") + "\\src\\test\\resources";

chromePrefs.put("download.default_directory", downloadDir);

我正在我的项目中使用它。

关于java - 如何下载Java项目资源目录中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42489059/

相关文章:

java - 排查Nashorn "Method code too large!"异常

java - 如何将对象转换为类对象(作为参数传入) - Java

java - 如何根据条件从firebase数据库中获取图像url并将其加载到ImageView中?

java - 在mysql查询期间java代码中进行一些迭代后出现无限循环 "hangs"

ruby - 你如何使用页面对象自动确认 ruby​​ 中的模态?

java - 为什么 ChangeListener 的 getSource() 不返回用于生成事件的类型的预转换对象?

excel - 根据单元格值隐藏行非常慢

java - 如何根据查询输出传递的值在 Excel 中创建多个工作表

vba - 如何获得一个函数来引用它所在的单元格?

php - 是否可以在每次 PHPUnit 测试失败后运行一个函数?