【发布时间】:2017-02-27 15:06:20
【问题描述】:
我有一个场景,我在我的应用程序中单击下载链接,它会在我的本地驱动器中下载一个 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", "resource").将目的地作为“资源”对我没有帮助。我如何在“资源”目录中下载文件。
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;
}
【问题讨论】:
标签: java excel selenium-webdriver