Comment utiliser Geb pour vérifier l'élément de la valeur de l'attribut après la page de l'événement
Après un peu d'aide ici, je suis en train d'écrire un web fonctionnel test à l'aide de Geb et que vous souhaitez tester le désactivé valeur de l'attribut d'une forme bouton soumettre, à la fois avant et après un évènement est survenu, le débit doit être comme suit:
- Chargement de page, bouton de soumission est déclarée comme étant désactivé dans la source de la page il doit donc être désactivé par exemple
<input type="submit" class="submit" disabled="true"/>
. - De cocher une case sur la page, il devrait en résulter un morceau de JQuery exécution du code qui permettra à l'désactivé bouton soumettre par programmation à l'aide de:
$('input.submit').attr('disabled', false);
Ma première tentative a été d'utiliser l'affirmation $('input.submit').@disabled == 'true'
, cela est apparu à travailler pour la vérification initiale après le chargement de la page cependant, après l'exécution de mon code JQuery pour activer le bouton d'un contrôle a posteriori retourne toujours le même résultat. Cela m'a amené à me demander si ce genre de vérification est seulement en mesure de faire rapport à la valeur, au temps de chargement de page et ne pas voir tout ultérieure des modifications du programme?
Puis, j'ai découvert Geb du jquery itegration, j'espérais que je pourrais l'utiliser pour renvoyer la valeur du bouton envoyer, et de faire de mon assertion sur cela par exemple $('input.submit').jquery.attr('disabled') == false
cependant, le Geb documentation confirme que tous les appels à la .jquery
retour de propriété de l'Geb Navigator exemple si malheureusement je ne pense pas que je peux renvoyer les informations que je veux.
J'ai aussi douté que le JQuery, le code a été fait basculer le bouton soumettre l'état désactivé, j'ai testé cette profondeur à l'aide de Firebug et je peux confirmer que cela fonctionne parfaitement dans le navigateur, donc je suppose que c'est soit un problème avec ma compréhension de Geb ou peut-être une limitation de Geb lui-même?
Il me semble que la vérification de la valeur des attributs de l'élément après l'exécution d'une action sur une page peut être un bon cas d'utilisation, donc je suis un peu en espérant que j'ai raté quelques trivialement façon simple de le faire. Vous en serais très reconnaissant pour tous les pointeurs pour m'aider à obtenir ce triées.
Acclamations,
Edd
OriginalL'auteur Edd Grant | 2011-06-07
Vous devez vous connecter pour publier un commentaire.
Ont fait un peu plus de tests et ont maintenant atteint un résultat satisfaisant. Je faisais un couple de choses qui, je crois, sont inproper, à savoir la tentative de définition de la
disabled
la valeur de l'attribut illégale valeurs du vrai et du faux comme ceci:À la recherche à la Les formulaires HTML spécification les personnes handicapées de l'attribut est indiqué de ne pas prendre une valeur, mais plutôt à la seule présence indique qu'un élément est désactivé. La modification de mon code de l'honneur cette et supprimer l'attribut pour indiquer l'activation d'un élément semble avoir fait le tour:
Note: je suis toujours à la définition de la valeur de désactivé à
true
puisque je ne peux pas déterminer comment définir l'attribut sans réglage d'une valeur, voir cette SORTE de post pour plus de détails.À l'aide de la ci-dessus, je suis maintenant en mesure d'utiliser Geb pour affirmer l'disabled/enabled état des éléments comme ceci:
Remarque: Geb semble avoir besoin d'un littéral de chaîne indiquant les statut plutôt qu'un booléen, qui iirc causé mes affirmations à l'échec.
De sorte que tout fonctionne maintenant très bien et je suis en cours d'exécution le long de l'écriture des charges de Geb tests! Espérons que cette explication est d'une certaine utilité pour les autres.
OriginalL'auteur Edd Grant
Réémission mon post sur le Geb liste de diffusion:
Après que vous exécutez le code jQuery qui permet au bouton, est-il possible que vous êtes en vérifiant le résultat avant que le code a bien activé le bouton? Par exemple, sont en train de faire quelque chose comme:
OriginalL'auteur Ray Nicholus