2015-03-04 2 views
0

Я использую Selenium для автоматизации тестового примера, где загружаются файлы. В Firefox я получаю диалоговое окно для сохранения или открытия файла, когда я нажимаю ссылку, чтобы загрузить файл. Я пошел в Firefox и набрал: config в адресной строке и обновил браузер.helperapps.neverask.savetodisk с типом mimetype. Когда я вручную нажимаю на ссылку, чтобы загрузить файл, он автоматически загружается без диалогового окна. Когда я автоматизирую его с помощью Selenium, появится диалоговое окно. Может ли кто-нибудь предложить способ автоматизировать это в Firefox без создания профиля в коде. Я не против изменять настройки браузера. В Firefox, как обновить профиль, который использует Selenium?Как отредактировать анонимный/профиль по умолчанию в firefox?

+0

, если созданию пр inile в коде есть опция ... дайте мне знать, как это сделать мой код выглядит следующим образом @BeforeStory public void beforeStory() throws Exception { System.out.println («Инициализация WebDriver»); driverProvider.initialize(); webDriver = driverProvider.get(); webDriver.manage(). DeleteAllCookies(); // Указывает время ожидания драйвера при поиске элемента, если он не присутствует сразу. webDriver.manage(). Timeouts(). ImplicitlyWait (40, TimeUnit.SECONDS); – user3698161

ответ

0

При запуске Firefox в Selenium WebDriver, начинается новый, анонимный профиль и может изменять его путем создания нового профиля и обновления предпочтений или используя существующий профиль

FirefoxProfile profile = new FirefoxProfile(); 

profile.setPreference("browser.download.folderList", 2); 

profile.setPreference("browser.download.manager.showWhenStarting", false); 

profile.setPreference("browser.download.dir", **enter your download path**); 

profile.setPreference("browser.helperApps.neverAsk.openFile", 
      "text/csv, application/pdf, application/x-msexcel,application/excel,application/x-excel,application/excel,application/x-excel,application/excel,application/vnd.ms-excel,application/x-excel,application/x-msexcel,image/png,image/jpeg,text/html,text/plain,application/msword,application/xml,application/excel"); 

profile.setPreference("browser.helperApps.neverAsk.saveToDisk", 
      "text/csv, application/pdf, application/x-msexcel,application/excel,application/x-excel,application/excel,application/x-excel,application/excel, application/vnd.ms- excel,application/x-excel,application/x-msexcel,image/png,image/jpeg,text/html,text/plain,application/msword,application/xml,application/excel,text/x-c"); 

Webdriver driver = new FirefoxDriver(profile); 

Если вы не хотите, чтобы создать профиль Firefox в код затем создать профиль Firefox с настройками выше вручную и использовать его с помощью кода ниже

ProfilesIni all_profiles = new ProfilesIni(); 
FirefoxProfile profile = all_profiles.getProfile("created profile"); 
WebDriver driver = new FirefoxDriver(profile); 

Надеется, что это помогает ....

+0

@BeforeStory public void beforeStory() throws Exception {System.out.println ("Инициализация WebDriver"); driverProvider.initialize(); webDriver = driverProvider.get(); webDriver.manage(). DeleteAllCookies(); // Указывает время ожидания драйвера при поиске элемента, если он не присутствует сразу. webDriver.manage(). timeouts(). implicitlyWait (40, TimeUnit.SECONDS); – user3698161

+0

может у PLS сказать мне, где поставить свой код в этом ?? – user3698161

+0

вам нужно поставить код перед созданием экземпляра webdriver ... В приведенном выше коде я создал или использовал профиль firefox и передал его в класс FirefoxDriver ... – Vicky

Смежные вопросы