Exceção durante a execução do Selenium na instância do AWS EC2

2

Estou enfrentando essa exceção quando executo um caso de teste do Selenium usando o driver do Firefox na instância do AWS EC2, que é o servidor sem cabeçalho. Eu instalei o Firefox e todas as mudanças necessárias para isso

org.openqa.selenium.WebDriverException: org.openqa.selenium.WebDriverException: Failed to connect to binary FirefoxBinary(/opt/firefox/firefox-bin) on port 7055; process output follows: �*** e = [Exception... "Component returned failure code: 0x80570016 (NS_ERROR_XPC_GS_RETURNED_FAILURE) [nsIJSCID.getService]" nsresult: "0x80570016 (NS_ERROR_XPC_GS_RETURNED_FAILURE)" location: "JS frame :: chrome://browser/content/utilityOverlay.js :: getShellService :: line 339" data: no]

Por favor, alguém pode me ajudar com essa exceção?

    
por mahesh more 24.08.2012 / 11:35

2 respostas

3

Primeiro, instale o xvfb, que lhe permitirá executá-lo com uma "tela virtual".

sudo yum -y install xorg-x11-server-Xvfb 

Depois, você deve conferir este post útil que ajudará você a instalar o firefox no amazon EC2. Isso é porque você não pode simplesmente fazer o sudo yum instalar o firefox no EC2. Então, basicamente você cria um arquivo (eu usei este gist ) na instância do EC2 que ele fornece e então o executei para instalar o firefox e todas as dependências dele. link

Quando o script for executado, ele será instalado no firefox

/usr/local/bin/firefox

por padrão, eu acredito.

Uma vez instalado, você provavelmente precisará adicioná-lo ao seu caminho, como o link acima também explica. Mas você também deve adicionar a variável de sistema DISPLAY, então faça algo assim ...

cat << EOF >> ~/.bashrc
PATH=/usr/local/bin:\$PATH
DISPLAY=:99
export PATH
export DISPLAY
EOF

Então você tem que lançar o xvfb para a tela 99 para que ele possa rodar o firefox em sua "tela virtual". Como assim ...

Xvfb :99 -screen 0 1024x768x16 &

Então, esperançosamente, quando você executar novamente seus testes de selênio, ele encontrará o firefox no caminho e o executará na tela "virtualizada" correta naquela instância do EC2.

Como uma nota lateral - eu não sou de forma alguma um especialista de qualquer tipo no Linux amazon assim ... Goodluck.

Como alternativa, você pode investigar a execução contra o servidor de selênio, que pode ser acionado em uma instância do Amazon EC2 ubuntu, que pode ser facilmente configurada para ter uma GUI.

    
por 27.11.2012 / 01:54
0

Failed to connect to binary FirefoxBinary(/opt/firefox/firefox-bin) on port 7055

Você precisa atualizar seu Selenium Server (para 2.53.x), para que ele possa suportar sua versão mais recente do Firefox. Como alternativa, use outro webdriver (como o Chrome).

Se você estiver usando o Maven, aqui estão as linhas para usar em pom.xml :

<dependency>
  <groupId>org.seleniumhq.selenium</groupId>
  <artifactId>selenium-java</artifactId>
  <version>2.53.1</version>
  <scope>test</scope>
</dependency>

Veja:

por 23.08.2017 / 13:57