Não foi possível executar testes no Safari 11 remotamente (ssh, CI)
Estou tendo problemas ao executar testes Ruby / RSpec no Safari 11 quando estou tentando executar testes via ssh manualmente ou via Jenkins (onde a máquina onde o Safari existe é escravo remoto).
Ao executar testes, estou recebendo o seguinte erro:
Selenium::WebDriver::Error::WebDriverError:
unable to connect to safaridriver 127.0.0.1:7050
O estranho é que sou capaz de executar testes quando estou conectado diretamente à máquina Mac. Isso me leva à conclusão de que pode haver alguma permissão que, por padrão, desativa a execução da sessão ssh, mas não sabe por que?
Além disso, que eu saiba, o Safari Driver faz parte do Safari 10+ e, como tal, não está mais instalado como extensão
Atualização: Descobri que o executável safaridriver que deve ser gerado por testes não pode ser gerado por algum motivo quando eu faço login via ssh. Exemplo:
/usr/bin/safaridriver -p 7050
Ele terminará com um código de saída diferente de zero, enquanto o mesmo comando diretamente na máquina executará o safaridriver em primeiro plano. Como espero que o Jenkins esteja executando o trabalho de teste nesta máquina, minha idéia para superar esse problema seria iniciar o safaridriver nessa máquina (por cron ou launchctl) e, em seguida, usar esta instância para conectar-se a ela nos meus testes. No entanto, até agora, não pude fazer meus testes (Selenium / Capybara) reutilizar o safaridriver existente em vez de sempre tentar gerar um novo em uma porta diferente. Qualquer idéia sobre isso também seria muito apreciada.
Este é o meu ambiente: SO: MacOS Sierra 10.12.6 Navegador: Safari 11.0.2
desde já, obrigado