Я сталкиваюсь с этим исключением, когда запускаю тестовый пример Selenium с использованием драйвера Firefox на экземпляре AWS EC2, который является автономным сервером. Я установил Firefox и все необходимые для него изменения
org.openqa.selenium.WebDriverException: org.openqa.selenium.WebDriverException: не удалось подключиться к двоичному файлу FirefoxBinary (/ opt / firefox / firefox-bin) на порту 7055; вывод процесса: ï ½ *** e = [Exception ... "Компонент возвратил код ошибки: 0x80570016 (NS_ERROR_XPC_GS_RETURNED_FAILURE) [nsIJSCID.getService]" nsresult: "0x80570016 (NS_ERROR_XPC_XPC_GS_RETURNED_FAILURE: расположение: //browser/content/utilityOverlay.js :: getShellService :: line 339 "data: no]
Кто-нибудь может мне помочь с этим исключением?
Сначала установите xvfb, который позволит вам запускать его с «виртуальным экраном».
sudo yum -y install xorg-x11-server-Xvfb
Тогда вам следует ознакомиться с этим полезным постом, который поможет вам установить firefox на amazon EC2. Это потому, что вы не можете просто выполнить sudo yum install firefox на EC2. Итак, в основном вы создаете файл (я использовал это суть) в экземпляре EC2, который он предоставляет, а затем запустить его, чтобы установить firefox и все его зависимости. http://joekiller.com/2012/06/03/install-firefox-on-amazon-linux-x86_64-compiling-gtk/
Когда скрипт запустится, он установит firefox в
/usr/local/bin/firefox
по умолчанию я верю.
После его установки вам, вероятно, потребуется добавить его в свой путь, как также объясняется в приведенной выше ссылке. Но вы также должны добавить системную переменную DISPLAY, хотя сделайте что-то вроде этого ...
cat << EOF >> ~/.bashrc
PATH=/usr/local/bin:\$PATH
DISPLAY=:99
export PATH
export DISPLAY
EOF
Затем вам нужно запустить xvfb для экрана 99, чтобы он мог запускать firefox на своем «виртуальном экране». Вот так...
Xvfb :99 -screen 0 1024x768x16 &
Затем, надеюсь, когда вы повторно запустите свои тесты на селен, он найдет firefox на пути и запустит его на правильном «виртуализированном» экране в этом экземпляре EC2.
В качестве примечания - я ни в коем случае не являюсь экспертом в amazon linux, так что ... Goodluck.
В качестве альтернативы вы можете исследовать работу с сервером selenium, который вы можете запустить на микро-экземпляре amazon EC2 ubuntu, который вы можете легко настроить на графический интерфейс.
Не удалось подключиться к двоичному файлу FirefoxBinary (/ opt / firefox / firefox-bin) через порт 7055
Вам необходимо обновить свой Selenium Server (до 2.53.x), чтобы он мог поддерживать вашу новую версию Firefox. В качестве альтернативы используйте другой веб-драйвер (например, Chrome).
Если вы используете Maven, вот строки для использования в pom.xml
:
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>2.53.1</version>
<scope>test</scope>
</dependency>
Видеть: