Мои тестовые примеры включают экспорт / загрузку файлов Excel с веб-страниц. Для чего я использую профиль Firefox, чтобы принимать загрузки, когда в окнах появляется всплывающее диалоговое окно загрузки. Следующий код работает, когда я выполняю свой тест в локальных окнах.
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, и у меня возникли проблемы. Я получаю исключение Nullpointer в строке сразу после инициализации профиля firefox. Это означает, что профиль Firefox не загрузился. Ниже приводится ошибка.
Мне интересно, не понимает ли Дженкинс профиль firefox "Selenium", который я создал в разделе профиля Firefox.
Примечание. Я могу запускать свои тесты из командной строки Windows, но не через Jenkins.
Любая помощь высоко ценится.
FirefoxProfile
- это устаревший класс для создания профиля на диске. Вместо этого используйтеFirefoxOptions
, чтобы установить предпочтения. - person Florent B.   schedule 28.11.2017