我必须测试点击链接时是否下载了pdfs文件。 我已经设置了一个默认文件夹,可以使用selenium下载它们,但我需要保存我的服务器而不是节点。
chromePrefs.put("download.default_directory", "C:\\SOIF\\Temp\\downloads");
options.setExperimentalOption("prefs", chromePrefs);
我试图使用:
((RemoteWebDriver) getWebDriver()).setFileDetector(new LocalFileDetector())
但这仅在我尝试从具有节点的服务器上传文件时才有效。
如果不在服务器上设置默认下载文件夹,这是否可行?
答案 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"
将文件移动到该文件夹。这是我能想到的可行解决方案