Задайте профиль предпочтений автоматической загрузки, используя selenium2library

Окружающая среда: robotframeworkselenium2library

Я ищу способ в selenium2library сделать автоматическую загрузку файла, установив предпочтение в FirefoxProfile, поскольку это решение, которое я могу найти. Однако кажется, что я не могу использовать способ, который я перечислял в селене webdriver, чтобы импортировать профиль предпочтений в браузер в selenium2library.

Использование селена webdriver:
fp = webdriver.FirefoxProfile()
fp.set_preference("browser.download.folderList",2) fp.set_preference("browser.download.manager.showWhenStarting",False) fp.set_preference("browser.download.dir",getcwd()) fp.set_preference("browser.helperApps.neverAsk.saveToDisk","application/msword, application/csv, application/ris, text/csv, image/png, application/pdf, text/html, text/plain, application/zip, application/x-zip, application/x-zip-compressed, application/download, application/octet-stream")
browser = webdriver.Firefox(firefox_profile=fp)

Я могу найти open_browser () в selenium2library, но он только ест каталог вместо гибкости использования профиля предпочтения, такого как selenium webdriver.

Selenium2Library:
open_browser(self, url, browser='firefox', alias=None,remote_url=False, desired_capabilities=None,ff_profile_dir=None)

Может ли кто-нибудь пролить свет на это, если я могу сделать то же самое, что и селен-webdriver в robotframework-selenium2library?

Я нашел один закрытый вопрос, говорящий об этом на Github https://github.com/rtomac/robotframework-selenium2library/issues/18

Тем не менее, кажется, что использовать каталог профилей вместо того, чтобы иметь возможность устанавливать предпочтение профиля Firefox.

Спасибо!!

One Solution collect form web for “Задайте профиль предпочтений автоматической загрузки, используя selenium2library”

Я могу найти open_browser () в selenium2library, но он только ест каталог

Нет. Он также ест предпочтения. Длинная история звучит так:

Я не совсем уверен, как вы на самом деле используете robotframework-selenium2library. Обычное использование, я бы сказал, – запустить тестовые примеры robotframework (т. Е. Простые текстовые файлы UTF-8), которые импортируют selenium2library. Возможное решение вашей проблемы будет выглядеть следующим образом (само собой разумеется, что все переменные должны быть определены ниже *** Variables *** ):

 *** Settings *** Library Selenium2Library Library Collections *** Variables *** *** Test Cases *** MyTestCase ${preferences} = Create Dictionary browser.download.folderList 2 browser.download.manager.showWhenStarting False # and so on .... Open Browser <yourURL> desired_capabilities=${preferences} 

Тем не менее, ваш вопрос предполагает, что вы намерены напрямую использовать функции python (например, open_browser которые вы упомянули в своем вопросе), предоставленные selenium2library. В этом случае все, что вам нужно сделать, – это desired_capabilities настроить эту функцию с параметром desired_capabilities .

Обратите внимание на документацию по этому параметру (полный код можно найти здесь ):

Если вы укажете значение для удаленного, вы также можете указать «желаемые_качества», который является строкой в ​​форме key1: val1, key2: val2, которая будет использоваться для указания желаемых возможностей на удаленный сервер. Это полезно для выполнения таких задач, как указать прокси-сервер для Internet Explorer или указать браузер и os, если вы используете saucelabs.com. «желаемые возможности» также могут быть диктатором (созданным с помощью «Создать словарь»), чтобы обеспечить более сложные конфигурации.

  • Селен неожиданно имеет проблемы
  • Selenium, выбор элемента внутри <span>
  • Скребнение селена с несколькими URL-адресами
  • Управление вкладками firefox в селене
  • Как найти элемент, содержащий определенный текст в Selenium Webdriver (Python)?
  • Найти xth td с td содержит в одном и том же tr xpath python
  • Как отключить Flash в Firefox с помощью Selenium в Python?
  • Selenium WebDriver и общий ожидания или задержки
  •  
    Interesting Posts for Van-Lav
    Python - лучший язык программирования в мире.