2011-11-28 35 views
7

Intento marcar una casilla de verificación en mi prueba de pepino, pero no puedo averiguar cómo buscar otra cosa que no sea la identificación, el nombre o etiqueta. Sigo recibiendo este error:Capybara de pepino busca casilla de verificación que no sea identificación, nombre o etiqueta

cannot check field, no checkbox with id, name, or label 'xxxx' found 

he añadido un atributo de 'identificador' a cada casilla, con valores únicos, y me gustaría encontrar la caja por estos términos.

Respuesta

7

¿Quiere decir que ha agregado un nuevo atributo llamado identifier en cada casilla de verificación? Si es así, entonces usted puede ser capaz de encontrar usando un localizador de CSS: (. set -ing la casilla para true cheques, usarlo false para desactivarla)

find(:css, "[identifier='#{my_checkbox_identifier}']").set(true)

+0

Sí, tienes razón - que quería decir que he añadido como un atributo. Sin embargo, cuando pruebo ese código, obtengo este error: No se puede encontrar css "[identifier = 'Check: NCO']" (Capybara :: ElementNotFound). El HTML generado es:

+0

No tuve tiempo para probar ese código, quizás necesites especifica el elemento ej. 'input [identifier = ...' –

+0

Todavía no parece estar funcionando para mí (Incapaz de encontrar css "input [identifier = \" Check: NCO \ "]" (Capybara :: ElementNotFound)). –

2

Al darse cuenta de esta pregunta es bastante viejo, una respuesta puede ser útil para alguien, en alguna parte. He encontrado el siguiente para el trabajo:

find(:xpath, "//input[@identifier='my_checkbox_identifier']").set(true)

Cuestiones relacionadas