Selenium:无法在Jenkins管道中创建要下载的文件夹和文件

时间:2017-02-14 05:41:59

标签: selenium jenkins selenium-chromedriver selenium-grid

测试是通过单击下载模板的链接来下载文件。当我在本地机器上执行脚本时,它运行正常。能够创建下载文件夹,下载的文件存储在新创建的"下载"夹。 但是当我将它集成到jenkins管道时,没有创建文件夹而且没有下载文件。 注意:在jenkins管道中,脚本在selenium网格中使用chrome执行。请参阅chrome驱动程序中的配置。

HashMap<String, Object> chromePrefs = new HashMap<String, Object>();
chromePrefs.put("profile.default_content_settings.popups", 0);
chromePrefs.put("download.default_directory", System.getProperty("user.dir") + "\\src\\main\\resources\\downloads");
ChromeOptions options = new ChromeOptions();
HashMap<String, Object> chromeOptionsMap = new HashMap<String, Object>();
options.setExperimentalOption("prefs", chromePrefs);
options.addArguments("--test-type");
DesiredCapabilities cap = DesiredCapabilities.chrome();
cap.setCapability(ChromeOptions.CAPABILITY, chromeOptionsMap);
cap.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
cap.setCapability(ChromeOptions.CAPABILITY, options);
driver = new RemoteWebDriver(new URL(seleniumGridUrl), cap);

1 个答案:

答案 0 :(得分:0)

如果您不打算在测试中检查下载文件的内容,我建议您使用一种旁路方法。使用HTTP库,您可以只对资源执行Head http调用,需要下载。在响应中,您将获得文件类型及其大小。在您的测试中,您只需断言它们以验证下载文件的正确性。 我认为你得到的问题是以某种方式与权限相关联,这不允许在环境中创建文件夹/文件,执行测试。