2 votes

Selenium IDE - Problèmes de confirmation

J'ai un lien sur ma page sur lequel je dois cliquer pour supprimer un profil. Lorsque je clique sur ce lien, une boîte de dialogue de confirmation s'affiche pour me demander de confirmer l'opération (celle qui assombrit l'arrière-plan et fait apparaître une boîte de dialogue, et non une fenêtre qui s'ouvre). Donc, si j'insère une commande assertConformation mais je reçois un message d'erreur indiquant qu'il n'existe pas. Si je n'utilise pas cette commande, selenium donne une erreur disant qu'il y a eu une confirmation ... bizarre non ? Voici les preuves :

SANS LA COMMANDE :

enter image description here

AVEC LA COMMANDE :

enter image description here

Savez-vous ce que je peux faire dans ce cas ? Voici le type de confirmation :

enter image description here

1voto

Dee Points 244

Il s'agit de consommer la confirmation. Si la confirmation est générée, vous devez utiliser waitForConfirmation y storeConfirmation sinon le test-case échouera.

Lisez l'aide fonctionnelle de l'IDE Selenium (en anglais). audacieux ):

storeConfirmation(variableName) Généré par getConfirmation()

R le message du dialogue de confirmation JavaScript le plus récent

Récupère le message d'un dialogue de confirmation JavaScript généré lors de l'action précédente.

Par défaut, la fonction de confirmation renvoie la valeur true, ce qui a le même effet qu'un clic manuel sur OK. Ceci peut être modifié par l'exécution préalable de de la commande chooseCancelOnNextConfirmation.

Si une confirmation est générée mais que vous ne la consommez pas avec getConfirmation, l'action Selenium suivante échouera.

REMARQUE : dans le cadre de Selenium, les confirmations JavaScript n'afficheront PAS de boîte de dialogue visible.

NOTE : Selenium ne supporte pas les confirmations JavaScript qui sont générées dans le gestionnaire d'événement onload() d'une page. Dans ce cas, une boîte de dialogue visible sera générée et Selenium se bloquera jusqu'à ce que vous cliquiez manuellement sur jusqu'à ce que vous cliquiez manuellement sur OK.

Si la confirmation n'est générée qu'occasionnellement, je recommande d'utiliser Blocs de sel y el storeConfirmationPresent y if commandes.

0voto

DMart Points 866

Avez-vous regardé le choisirOkOnNextConfirmation commande ?

Annule l'effet de l'appel à chooseCancelOnNextConfirmation. Notez que la fonction superposée window.confirm() de Selenium renvoie normalement retournera automatiquement true, comme si l'utilisateur avait cliqué manuellement sur OK. vous ne devriez pas avoir besoin d'utiliser cette commande, sauf si, pour une raison ou une autre, vous avez besoin de changer le nom de l'utilisateur. changer d'avis avant la confirmation suivante. [ ] confirmation, Selenium reprend le comportement par défaut pour les futures confirmations, renvoyant automatiquement true (OK) à moins que/jusqu'à ce que vous appelez explicitement chooseCancelOnNextConfirmation pour chaque confirmation.

Attention, à chaque fois qu'une confirmation apparaît, vous devez la consommer avec un getConfirmation correspondant, sinon la prochaine opération selenium échouera.

qui vous permettra de passer la boîte d'alerte, si vous voulez vous assurer qu'une boîte de confirmation s'affiche, je vous suggère attendre la confirmation o attendrel'alerte

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X