Resolvendo problemas de input not found no Cucumber
No Cucumber podemos fazer testes que preenchem campos de texto, como abaixo:When I fill "login" with "usuario"
Se o input não tiver um label associado a ele corretamente, o Cucumber não achará o campo e lançará um erro.
Para que um label esteja associado corretamente a um input, o atributo for do label deve ser o mesmo que o id do input, por exemplo:
Agora a parte legal, é que se quisermos testar se a associação entre o label e o input está correta, basta clicar no label e ver se o cursor se move para dentro do input, como abaixo:
No exemplo abaixo não deve funcionar pois a associação está errada:
Se esse teste não funcionar, provavelmente você terá problemas ao rodar o Cucumber.
Caso queira passar longe desse problema, evite criar códigos HTML na mão e utilize os helpers text_field e o label do Rails
E agora vou aproveitar para agradecer o Autor do post de como utilizar o Syntax Highlighting no Blogger
vlw!
Fala Perrela!!!
ResponderExcluirUsar o atributo "for" corretamente, além de resolver o problema com o cucumber é uma boa prática do ponto de vista de de acessibilidade do seu site. Os leitores de tela utilizam o for do label para identificar o contexto do input associado.
Alias todos os tipos de input (text, checkbox, radio, etc) devem, ou deveriam, ter um label associado...
Veio... vcs só escrevem coisas que não entendo!
ResponderExcluir