/ / Meus testes estão falhando com SyntaxError: Erro de análise (Capybara :: Poltergeist :: JavascriptError) - javascript, ruby, capivara, phantomjs, poltergeist

Meus testes estão falhando com SyntaxError: Erro de análise (Capybara :: Poltergeist :: JavascriptError) - javascript, ruby, capivara, phantomjs, poltergeist

Alguns antecedentes sobre o que aconteceu. Portanto, eu não atualizei / alterei nenhuma das gemas / códigos / versões, etc., em relação à minha estrutura de teste, que consiste no seguinte (estou executando o ruby ​​1.8.7p374):

gem "capybara", "1.1.4"
gem "commander", "4.1.3"
gem "cucumber", "1.2.3"
gem "poltergeist", "1.0.2"
gem "parallel", "0.6.2"
gem "parallel_tests", "0.10.1"
gem "rspec", "2.13.0"
gem "sauce", "2.3.2"
gem "sauce-cucumber", "2.3.1"
gem "gherkin", "2.11.6"

Na última quarta-feira, meus testes estavam passando muito bem. Então, na manhã de quinta-feira, quando tentei executar o pacote contra o nosso site, estou recebendo muitos erros com a seguinte mensagem:

  One or more errors were raised in the Javascript code on the page:

SyntaxError: Parse error (Capybara::Poltergeist::JavascriptError)

No que diz respeito às alterações em nosso site, recentemente alteramos nosso login e registramos os formulários para passar por https, mas isso foi na quarta-feira e eu realizei meus testes antes que ele fosse implantado.

Estou executando meus testes em um Mac com o OSx 10.8.5

Eu tentei executá-lo em uma caixa local vagrant linux mas ainda recebo o erro.

No entanto, se eu executar os testes em uma de nossas instâncias linux (hospedadas na AWS), ela funcionará bem.

Eu tentei diagnosticar isso até a morte e não encontrei nada. O mais útil deles é o firebug que não pega nenhum erro de javascript em nosso site.

Por favor me ajude, pois isso está me deixando louco.

Se eu perdi alguma informação importante por favor peça e eu providenciarei.

Respostas:

0 para resposta № 1

Então acontece que é a janela de afiliados terquestões e isso estava fazendo PhantomJS cair. Nossa solução foi desabilitar isso para nossos ambientes de teste, já que é de terceiros. Apenas uma vergonha não houve nenhuma mensagem de erro útil.

Como descobrimos isso, você pergunta ...

Bem, eu usei o depurador remoto no Poltergeist, que conseguiu identificar o erro no console do inspetor de maneira clara e agradável.

Para configurar isso, dê uma olhada nisso ligação