【问题标题】:Running headless Firefox WebDriver on Jenkins (Windows OS)在 Jenkins(Windows 操作系统)上运行无头 Firefox WebDriver
【发布时间】:2018-05-11 22:40:44
【问题描述】:

我的测试用例涉及从网页导出/下载 excel 文件。我正在使用 Firefox 配置文件在 Windows 上弹出下载对话框时接受下载。当我在本地窗口上执行测试时,以下代码正在工作。

ProfilesIni profile = new ProfilesIni();
    FirefoxProfile fProfile = profile.getProfile("Selenium");

    fProfile.setPreference("browser.download.folderList", 2); 
    fProfile.setPreference("browser.download.manager.showWhenStarting", false);
    fProfile.setPreference("browser.download.dir", "C:\\temp\\reports\\");
    fProfile.setPreference("browser.helperApps.neverAsk.openFile", "text/csv,application/x-msexcel,application/excel,application/x-excel,application/vnd.ms-excel,image/png,image/jpeg,text/html,text/plain,application/msword,application/xml");
    fProfile.setPreference("browser.helperApps.neverAsk.saveToDisk", "text/csv,application/x-msexcel,application/excel,application/x-excel,application/vnd.ms-excel,image/png,image/jpeg,text/html,text/plain,application/msword,application/xml");
    fProfile.setPreference("browser.helperApps.alwaysAsk.force", false);
    fProfile.setPreference("browser.download.manager.alertOnEXEOpen", false);
    fProfile.setPreference("browser.download.manager.focusWhenStarting", false);
    fProfile.setPreference("browser.download.manager.useWindow", false);
    fProfile.setPreference("browser.download.manager.showAlertOnComplete", false);
    fProfile.setPreference("browser.download.manager.closeWhenDone", false);

    fProfile.setAcceptUntrustedCertificates(true);
    fProfile.setAssumeUntrustedCertificateIssuer(true);
    fProfile.setPreference("security.insecure_field_warning.contextual.enabled", false);        
    DesiredCapabilities capabilities = DesiredCapabilities.firefox();
    capabilities.setCapability(FirefoxDriver.PROFILE, fProfile);
    capabilities.setCapability("marionette", true);
    capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
    capabilities.setAcceptInsecureCerts(true);
     driver = new FirefoxDriver(capabilities);

我想在 Jenkins 上运行测试,但我一直遇到问题。初始化 firefox 配置文件后,我立即在该行收到 Nullpointer 异常。这意味着 Firefox 配置文件没有拾取。以下是错误。

我想知道 Jenkins 是否不理解我通过 Firefox 配置文件部分创建的 Firefox 配置文件“Selenium”。

注意:我可以从 Windows 命令行运行我的测试,但不能通过 Jenkins。

非常感谢任何帮助。

【问题讨论】:

  • FirefoxProfile 是在驱动器上构建配置文件的遗留类。请改用FirefoxOptions 来设置首选项。
  • 非常感谢 Florent B,这很有效 :) 我如何接受您的回答?

标签: selenium firefox jenkins selenium-webdriver firefox-profile


【解决方案1】:

不要使用功能,而是使用 FirefoxOptions

FirefoxOptions options = new FirefoxOptions();
options.addArgument("--headless");
WebDriver driver = new FirefoxDriver(options);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-04
    • 2012-05-21
    • 2019-03-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多