在Jenkins上运行无头Firefox WebDriver(Windows操作系统)

时间:2017-11-28 12:56:23

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

我的测试用例涉及从网页导出/下载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配置文件没有取件。以下是错误。

enter image description here

enter image description here

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

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

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

使用FirefoxOptions

而不是使用功能
FirefoxOptions options = new FirefoxOptions();
options.addArgument("--headless");
WebDriver driver = new FirefoxDriver(options);