Quando coloco uma etiqueta de cassete em um Cucumber marcado com @javascript (fazendo com que Capybara use o driver Selenium), coisas estranhas começam a acontecer ...
Na primeira vez que o executo, tudo acontece conforme o esperado: os registros do cassete, os dados são usados e tudo passa.
Na próxima vez que eu executá-lo (fora do cassete), ele falhará com a solicitação não registrada: GET http: // localhost : 9887 / identifique .
Parece que o Selenium precisa se comunicar com seu servidor usando essa porta (fazendo ping para ver se existe, neste caso). Não tenho certeza de como o videocassete está bagunçando isso, mas está.
Provavelmente seria útil permitir a passagem de solicitações de localhost (configuráveis ou por uma tag @allow_localhost , ou ambas).
Isso deve ser resolvido por 2ed9c3c318305ee39fa054997da1b67c1413a408.
Estou tendo o mesmo problema na versão 1.11.3, com solicitações de teste rspec com: js => true (capivara, selênio).
GET http://localhost:9887/__identify__
.Superei isso definindo c.allow_http_connections_when_no_cassette = true
em algumas situações.
@clyfe - Eu recomendo que você use a opção c.ignore_localhost = true
config; é projetado especificamente para isso.
@myronmarston Obrigado por c.ignore_localhost = true
, isso me ajudou. Mas eu queria gravar um serviço local. Então, primeiro gravei e depois mudei de hospedeiro na fita.
Comentários muito úteis
@clyfe - Eu recomendo que você use a opção
c.ignore_localhost = true
config; é projetado especificamente para isso.