Назад | Перейти на главную страницу

Исключение при запуске Selenium на экземпляре AWS EC2

Я сталкиваюсь с этим исключением, когда запускаю тестовый пример 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>

Видеть: