Devido ao comportamento travado, não é recomendado executar testes de transferidor com PhantomJS
https://github.com/angular/protractor/blob/master/docs/browser-setup.md
Pessoalmente, eu estava farto de minhas compilações falhando esporadicamente e tendo que executar meus testes várias vezes apenas para que passassem na minha dev box. Decidi mudar para o firefox simples, mas isso causou o problema do que fazer em nosso sistema de CI que não está conectado a um monitor.
xvfb (X Virtual Framebuffer) para o resgate, xvfb é um display virtual para máquinas Linux. Ele permite que você use um navegador e um driver da Web firefox padrão para executar seus testes em um ambiente sem interface com o usuário.
Para configurar no travis, adicione estas linhas ao seu .travis.yml …
antes do script:
– “export DISPLAY =: 99.0”
– sh -e /etc/init.d/xvfb start
– nohup bash -c “./node modules / protractor / bin / webdriver-manager start 2> & 1 &”
– sleep 5
script:
– grunhido travis-transferidor
Nota: Se, como eu, você estava usando o grunt task selenium start, então isso irá falhar no travis com um erro de selênio “[launcher] Error: UnknownError: Bad request”. Ainda não descobri por que isso acontece, no entanto, iniciar manualmente o webdriver no script anterior funciona perfeitamente.
Para um exemplo completo de nossa configuração travis, consulte o arquivo abaixo:
https://github.com/DigitalInnovation/mns-digital-blog/blob/master/.travis.yml