У меня есть несколько версий Firefox
в нескольких ПК где некоторые есть новейшего, который 47
и некоторые имеют старую версию.Как поддерживать как старую и новую версию Firefox одновременно с использованием Селена (Java)
У меня после this и настройка RemoteWebDriver
с Marionette
, следующее поколение FirefoxDriver
для поддержки Firefox версии 47 для автоматизации, как показано ниже: -
URL server = new URL("http://localhost:4444/wd/hub")
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability("marionette", true);
WebDriver webDriver = new RemoteWebDriver(server, capabilities);
webDriver.get("https://www.google.co.in");
Это работает отлично с Firefox версии 47 но когда я работаю на других ПК где установлен Firefox более ранняя версия, это дает exception
, как показано ниже: -
Вызванный: org.openqa.selenium.remote.UnreachableBrowserException: Могли не STA
к.т. новой сессии. Возможными причинами являются неверный адрес удаленного сервера или br
Ошибка запуска owser.
Сложение информация: версия: '2.53.0', редакция: '35ae25b', время: '2016-03-15 17:00:58 '
Информация о системе: хозяин: 'ком-PC' , ф: '192.168.3.3', os.name: 'Windows 7', os.arch: '
x86', os.version: '6,1', java.version: '1.8.0_92'
Driver информация: driver.version: MarionetteDriver
Вызванный: org.openqa.selenium.WebDriverException: org.apache.http.conn.HttpHost
ConnectException: Подключение к локальной машине: 3125 [локальный/127.0.0.1] не удалось: Конек
Тион отказался: подключение
Строить информация: версия: ' 2.53.0 ', версия:' 35ae25b ', время:' 2016-03-15 17:00:58 '
Системная информация: host:' com-PC ', ip:' 192.168.3.3 ', os .name: 'Windows 7', os.arch: '
x86' , os.version: '6,1', java.version: '1.8.0_92'
Информация Driver: driver.version: MarionetteDriver
Вызванный: java.net.ConnectException: Соединение отклонено: подключение
WARN - Исключение: Соединение отклонено: подключение
Когда я удаляю линию capabilities.setCapability("marionette", true);
средства удаляет поддержку MarionetteDriver
, он хорошо работает с Firefox старой версией но повышение exception
с Firefox версии 47 т.е. UnreachableBrowserExcetion
.
Так что мой вопрос: -
Есть ли способ узнать Firefox version
или любое othere решения, с помощью которого я мог бы работать одновременно с обеими Старого и Нового версии Firefox ??.
Я хочу общего решения, где мой код разумно мог быть в состоянии знать, когда он начнет с MarionetteDriver
и когда с FireFoxDriver
на основе FireFox Version
.
Заранее спасибо ... :)
Это кажется ненужным длинным и сложным по сравнению с ответом, который Mobrockers предоставил вам раньше. Ответ, который вы назвали слишком долго. – RemcoW
Это также не работает ни на одной другой ОС, ни на компьютерах с установленным firefox в другом месте. – RemcoW
@RemcoW здесь я не сравниваю, какой ответ лучше..другой ОС просто нужно изменить командную строку, которую я предоставил в своем отредактированном ответе ... Вы пытались запустить ff из другого места, используя selenium ??. ... 90% 'Pcs' имеет местоположение по умолчанию ... и FYI, если местоположение не является по умолчанию selenium, запрашивает двоичное расположение firefox ... поэтому этому случаю не нужно выполнять мою первую команду, которая дает местоположение ff binaty. –