Estoy usando webrat con pepino y me gustaría probar si ya se ha marcado un botón de opción cuando estoy en una página. ¿Cómo puedo hacer eso? No encontré ningún paso en webrat que pueda hacer eso.¿Cómo puedo determinar si ya se ha marcado un botón de opción?
Respuesta
input("#my_box").should be_checked
Hay casos en los que no puede confiar en las casillas de verificación que tienen identificadores o etiquetas o donde el texto de la etiqueta cambia. En este caso, puede usar el método have_selector
de webrat.
De mi código de trabajo (donde no tengo ids en casillas de verificación).
response_body.should have_selector 'input[type=radio][checked=checked][value=information]'
Explicación: La prueba devolverá true si el cuerpo del documento contiene un botón de radio (input[type=radio]
) que se comprueba y que tiene el valor "información"
Puede utilizar el matcher casilla incorporada en web_steps .rb:
And the "Bacon" checkbox should be checked
Sin embargo, usted necesita tener una etiqueta en su casilla de verificación que coincide con el ID del campo de entrada casilla correspondiente. El ayudante de etiqueta f en Rails toma una cadena para usar como ID en el primer argumento. Puede que tenga que construir una cadena que incluye el nombre del campo y el nombre casilla:
f.label "lunch_#{food_name}, food_name
f.radio_button :lunch, food_name
En cualquier caso, utilizar esta directiva para ver que usted tiene el HTML correcto:
Then show me the page
And the "Obvious choice" checkbox should be checked
Aunque podría ser un botón de opción, pero el código funcionará. Solo está buscando un campo etiquetado con ese texto.
acaba de cambiar a una casilla de verificación web_step botón de radio
Añadir el siguiente paso para web_steps.rb
Then /^the "([^"]*)" radio_button(?: within "([^"]*)")? should be checked$/ do |label, selector|
with_scope(selector) do
field_checked = find_field(label)['checked']
if field_checked.respond_to? :should
field_checked.should be_true
else
assert field_checked
end
end
end
y usted puede escribir lo siguiente para comprobar si se marca el botón raido dado o no
And the "Bacon" radio_button within "div.radio_container" should be checked
envuelta Jesper Rønn-Jensen su función + nombre añadido que es utilizado por los carriles:
Then /^I should see that "([^"]*)" is checked from "([^"]*)"$/ do |value, name|
page.should have_selector "input[type='radio'][checked='checked'][value='#{value}'][name='#{name}']"
end
find_field("radio_button_name").should be_checked
o en la nueva sintaxis:
expect(find_field("radio_button_name")).to be_checked
- 1. JQuery: ¿Cómo determinar si se ha seleccionado un botón de opción?
- 2. Usando JQuery para verificar si no se ha marcado ningún botón de opción en un grupo
- 3. Cómo determinar si ob_start(); se ha llamado ya
- 4. ¿Cómo puedo determinar si se muestra un botón de retroceso?
- 5. ¿Cómo puedo determinar si un hilo de Win32 ha finalizado?
- 6. Comprobación de si un convertidor ya se ha registrado
- 7. Determinar si se ha producido un cambio de día
- 8. Cómo determinar si un evento ya está suscrito
- 9. JavaScript - cómo comprobar si el evento ya se ha agregado
- 10. ¿Cómo puedo saber si un delegado en particular ya ha sido asignado a un evento?
- 11. ¿Cómo puedo determinar si una imagen ha sido retocada?
- 12. javascript - saber si ya se ha abierto un enlace
- 13. ¿Cómo puedo saber si un namenode hadoop ya se ha formateado?
- 14. ¿Qué botón de opción del grupo está marcado?
- 15. Cómo comprobar si NSTimer ya ha sido invalidado
- 16. ¿Cómo determinar en Mercurial, si el conjunto de cambios, especificado por revisión, ya ha sido injertado?
- 17. ¿Cómo puedo saber si se ha eliminado un `NSManagedObject`?
- 18. ¿Cómo puedo saber si una matriz de bytes ya se ha comprimido?
- 19. ¿Cómo puedo determinar si se implementa un método abstracto?
- 20. ¿Cómo puedo determinar si se gestiona un proceso en C#?
- 21. ¿Cómo puedo determinar si se tocó un UILabel?
- 22. ¿Cómo puedo determinar si se difiere un objeto jQuery?
- 23. ¿Cómo puedo lidiar con "IllegalStateException: BeanFactory no se ha inicializado o ya se ha cerrado"?
- 24. Piñones :: CircularDependencyError application.js ya se ha requerido
- 25. ¿Cómo verificar si un botón de radio en cada grupo está marcado en jQuery?
- 26. jQuery, ¿cómo comprobar si un complemento ya se ha aplicado a un div?
- 27. Botón de radio marcado propiedad
- 28. ¿Cómo se selecciona un botón de opción en css?
- 29. Cómo verificar si un DataGridViewCheckBoxCell está marcado
- 30. ¿Cómo acceder al valor de un botón de opción que está marcado con YUI?
parece que este método ya no funciona. Estoy usando Capybara 2.4.1. El método 'find_field' sugerido por @evedovelli hizo el truco. –
Sugeriría que no se use "should be_checked" pero en su lugar: expect (find_field ("my_boxt")). Be_checked – Tommyixi