Después de un poco de ayuda, estoy escribiendo una prueba web funcional usando Geb y quiero probar el valor de atributo deshabilitado de un botón de envío de formulario tanto antes como después ha ocurrido un evento, el flujo debe ser el siguiente:Cómo usar Geb para verificar el valor del atributo del elemento después del evento de la página
- página de carga, botón de enviar se declara como discapacitados en el origen de la página por lo que debe ser inhabilitado por ejemplo,
<input type="submit" class="submit" disabled="true"/>
. - Disponibilidad de una casilla de verificación en la página, esto debería resultar en una pieza de código jQuery ejecución que permita el botón de enviar discapacitados programáticamente usando:
$('input.submit').attr('disabled', false);
Mi primer intento fue utilizar la afirmación $('input.submit')[email protected] == 'true'
, esto parecía trabajo para la verificación inicial después de la carga de la página; sin embargo, después de ejecutar mi código JQuery para habilitar el botón, una verificación posterior aún arroja el mismo resultado. Esto me ha llevado a preguntarme si este tipo de verificación solo puede informar el valor al momento de cargar la página y no ve ningún cambio programático posterior.
Luego descubrí la integración de jquery de Geb, esperaba poder usar esto para devolver el valor del botón de envío y hacer mi afirmación en este, p. $('input.submit').jquery.attr('disabled') == false
sin embargo, la documentación de Geb confirma que todas las llamadas a la propiedad .jquery
devuelven la instancia de Geb Navigator por lo que lamentablemente no creo que pueda devolver la información que deseo.
También he dudado si el código de JQuery estaba alternar el botón de envío estado deshabilitado, lo he probado extensamente usando Firebug y puedo confirmar que esto funciona perfectamente en el navegador, entonces sospecho que esto es un problema con mi comprensión de Geb o tal vez una limitación de Geb en sí?
Me parece que comprobar el valor de los atributos del elemento después de realizar alguna acción en una página puede ser un caso de uso común, por lo tanto, espero haber omitido alguna forma trivialmente simple de hacerlo. Estaría muy agradecido por cualquier información que me ayude a resolver este problema.
Saludos,
Edd