Как обойти проблемы с марионетками в Robot?

Меня попросили оценить Robotframework, и по большей части я доволен тем, что видел. Однако, чтобы это был жизнеспособный вариант для меня, мне нужно, чтобы он работал в Firefox.

Возможности марионеток были проблемой в моей среде Ruby/Capybara, и я смог их отключить.

Capybara.register_driver :selenium do |app|
  Capybara::Selenium::Driver.new(app, :browser => :firefox, desired_capabilities: Selenium::WebDriver::Remote::Capabilities.firefox(marionette: false))
end

Получение того же самого в Robot/Python 2.7/ff44.0 вызвало ошибку в любом направлении.

Когда марионетка включена:

${dc}   Evaluate    sys.modules['selenium.webdriver'].DesiredCapabilities.FIREFOX  sys, selenium.webdriver
Set To Dictionary    ${dc}    marionette=${True}
Open Browser    ${url_bck_auto}     Firefox     desired_capabilities=${dc}

Я получаю это:

Наши продукты рок | НЕУДАЧА | WebDriverException: Сообщение: Неподдерживаемая версия протокола Marionette 2, требуется 3

Если я выключу его, геккон выставит меня на ff51.0.1 (32-бит), и я получу другое сообщение:

Наши продукты рок | НЕУДАЧА | WebDriverException: Сообщение: Не удается загрузить профиль. Возможно несоответствие версии firefox. Вместо этого вы должны использовать GeckoDriver для Firefox 48+. Каталог профиля: c:\users\blah\appdata\local\temp\tmpqzlxha\webdriver-
py-profilecopy Если вы указали log_file в конструкторе FirefoxBinary, проверьте его для получения подробной информации.

Geckodriver версии 0.15.0

Любая помощь будет оценена, спасибо!


person TangibleDream    schedule 29.03.2017    source источник


Ответы (1)


На Windows 10 я запускаю Robot Framework 3.0, Selenium2Library 1.8.0, Selenium 3.0.2, и когда я запускаю ваш пример или упрощенный сингл open browser http://google.com, я получаю тот же результат при использовании Gecko 0.15.0. Браузер запускается, но не переходит на нужную страницу. Драйвер успешно закрывается, но браузер остается открытым.

При использовании той же настройки, но с понижением версии Geckodriver to 0.14.0 результаты меняются, и браузер ведет себя так, как ожидалось. Загружает страницу и закрывается при вызове ключевого слова Close Browser.

Итак, я рекомендую перейти на Geckodriver 0.14.0.

person A. Kootstra    schedule 29.03.2017
comment
На Windows 7 я запускаю Robot 3.0.2 S2L 1.8.0 Попытка Gecko 15 - 10 привела к тем же ошибкам для меня. - person TangibleDream; 30.03.2017