Pergunta

Eu comecei a migração de pepino + webrat de pepino + capivara. Agora o comportamento de "eu deveria ver" parece ser um pouco diferente. A maioria destes falhar agora, embora eu não muda nada na página. Eu substituí o trecho que deve ser encontrado com algumas coisas que é em cada página e, por algum texto funciona e por outro texto que não. Não consigo encontrar qualquer padrão em que é encontrado no conteúdo da página eo que não é. Webrat usado para imprimir o conteúdo da página é que ele encontrou, no caso de ele não continha a frase necessário. Existe uma maneira de ter capivara mostram qual o texto que recebemos da página em que tentou encontrar o texto?

Foi útil?

Solução

Tente adicionar esta etapa:

Then show me the page

Outras dicas

chamadas Then show me the page Webrat método save_and_open_page subjacente / de capivara. Descobriu que útil quando se trabalha com bife.

Se você quiser que o navegador abra a página quando a página não usar o gem 'Launchy'. Adicioná-lo ao seu arquivo gem, e depois em / recursos / suporte criar um arquivo chamado debugging.rb com conteúdo:

After do |scenario|
   save_and_open_page if scenario.failed?
end

Se você estiver usando Javascript ou Ajax em suas páginas e quer ver o que está acontecendo, eu descobri que o motorista Poltergeist é muito bom em deixar você entrar no DOM e descobrir o que está acontecendo de errado.

Se você configurar seu driver Capivara com a opção de depuração remota:

Capybara.register_driver :poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app, inspector: true)
end

Você pode então colocar a seguinte linha em seus passos:

page.driver.debug 

que dispara-se um novo navegador Chromium com o conjunto estado DOM atual, permitindo-lhe chegar ao console. (Em minha versão do Linux, eu tinha de cromo link simbólico para o cromo-browser mas caso contrário, funcionou bem).

Informações Fonte: http://jonathanleighton.com/articles/2012/poltergeist-0-6 -0 /

Then show me the response não funcionou para mim com pepino 1.1 eu achei útil para escrever uma etapa usando o comando de capivara:.

print page.html

Isso gera o estado atual do DOM

Você também pode usar "Então mostre-me a resposta" que gera o código HTML para o console se você não quiser usar um navegador.

Você poderia tê-lo sempre tomar um tiro de tela quando algo falhou. Depurar um monte de recursos na falta dessa forma.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top