下载文件(在节点上使用chrome)并将其保存在服务器文件系统中

时间:2017-08-21 08:09:11

标签: java google-chrome selenium

我必须测试点击链接时是否下载了pdfs文件。 我已经设置了一个默认文件夹,可以使用selenium下载它们,但我需要保存我的服务器而不是节点。

chromePrefs.put("download.default_directory", "C:\\SOIF\\Temp\\downloads");
options.setExperimentalOption("prefs", chromePrefs);

我试图使用:

((RemoteWebDriver) getWebDriver()).setFileDetector(new LocalFileDetector())

但这仅在我尝试从具有节点的服务器上传文件时才有效。

如果不在服务器上设置默认下载文件夹,这是否可行?

1 个答案:

答案 0 :(得分:0)

您需要从服务器共享文件夹。然后使用Map驱动器号映射所有节点,并在完成映射后映射它。您可以在所有测试中使用该路径进行下载以及测试文件是否已下载

Z:是最常用的,但您可以将它与任何其他字母驱动程序一起使用。然后只使用这些路径。

例如@DebanjanB提到"Z:\\shared_server_path\\SOIF\\Temp\\downloads"

修改-1

如果您需要为每个测试用例单独下载,那么您可以选择在下面进行操作。在启动Webdriver之前,生成一个UUID字符串并将其附加到下载文件夹

`"Z:\\shared_server_path\\SOIF\\Temp\\downloads\\fd411526-e3aa-43b1-a351-e484da4508d9"`

创建此文件夹并使用此文件作为下载目录启动webdriver。测试完成后,您始终可以知道测试用例名称是什么。创建目录

"Z:\\shared_server_path\\SOIF\\Temp\\downloads\\TestCase1"

将文件移动到该文件夹​​。这是我能想到的可行解决方案