SeleniumException: ERREUR: Il y a eu un imprévu Alerte!
J'ai cette erreur lors de l'exécution de selenium RC tests sur IE7.
com.thoughtworks.le sélénium.SeleniumException: ERREUR: Il y a eu un imprévu Alerte! [erreur:[Erreur de l'objet]]
Il arrive chaque fois que je tente de cliquer sur un lien ou un onglet ou quoi que ce soit cliquable. Toutes les Idées les gars. C'est vraiment frustrant.
Collez le code de votre test.
OriginalL'auteur Afamee | 2009-09-09
Vous devez vous connecter pour publier un commentaire.
La vérification de la Les résultats de recherche Google pour votre message d'erreur, et le sélénium liste de diffusion de développement, il semble que si ce n'est pas un bug en Sélénium, mais c'est plutôt le Sélénium de vous dire que l'inattendu de la fenêtre.fonction alert() a été appelée dans votre application web, et que le Sélénium ne sais pas comment le gérer, car vous n'avez pas dit comment.
OriginalL'auteur matt b
Je serais surpris si la même question n'est pas produit dans d'autres navigateurs. Peut-être que votre application se comporte différemment selon le navigateur? Fondamentalement, le Sélénium est qu'il ne peut pas passer à d'autres commandes après vous cliquez sur ces liens ou des tabulations, car il a détecté un inattendu d'alerte JavaScript. Vous ne verrez pas ces alertes parce que le Sélénium consomme. Il ya quelques choses que vous pouvez faire pour travailler ce qu'il se passe.
La première chose que je vous suggère est de simplement vérifier votre demande dans IE7. Manuellement, suivez les étapes de vos tests, voyez - vous les alertes JavaScript? Si oui, vous aurez besoin d'ajouter les commandes appropriées pour votre Sélénium test.
Si pour quelque raison vous ne pouvez pas reproduire les alertes manuellement, vous pouvez soit désactiver l'alerte par l'aide de la getAlert de commande, ou utilisez la réponse de getAlert pour trouver le texte de l'imprévu, de l'alerte.
Java/TestNG exemple pour trouver le message de l'alerte:
Ci-dessus entraînera votre test à l'échec (à moins que l'alerte ne veut vraiment dire " Bonjour le Monde!'), mais échouera avec un message similaire à "attendu" Hello World", mais a 'Votre inattendu message d'alerte'".
OriginalL'auteur Dave Hunt
Je suis une chose semblable.
Pas d'erreur dans IE, JS popup d'erreur dans google Chrome, rien dans les FF...jusqu'à ce que je lance mon Sélénium script et il signale une erreur inattendue.
Curieusement, quand je fais le sélénium.IsAlertPresent() retourne false, même si elle dit qu'il y avait une.
OriginalL'auteur DazManCat
Je vois la même erreur. Normalement, nous avons un test à l'aide de C#, mais dans ce cas, nous mettons en place quelques tests simples à l'aide de l'Selenium IDE.
Depuis Selenium IDE enregistrements de vos événements et vous permet ensuite de lire que vous attendez de gérer l'alerte. Lorsque l'on regarde les événements de dossiers, il semble que c'est la capture de l'alerte. Toutefois, lorsque vous jouez en arrière, les événements sont de l'ordre.
D'abord, il capte l'événement click. Puis est utilise assertAlert assurez-vous que l'alerte s'est passé.
Le problème se produit lorsque vous jouez en arrière. Il ne l'événement click et ensuite les erreurs. Si vous déplacez le assertAlert déclaration avant l'événement click, ça ne fonctionne pas. Si vous modifiez le assertAlert à waitForAlert ne marche pas non plus. Je n'arrive pas à comprendre de toute façon pour obtenir la lecture de travail dans le Selenium IDE. Si je n'avais pas besoin de cette praticable pour un non-expert en ordinateur je venais de mettre dans mes tests réguliers et être fait avec elle.
Edit: Après plus ample examen, il apparaît que le message d'alerte n'est pas de correspondance. Même si il a attiré l'alerte lors de l'enregistrement. L'inspection visuelle ne fait rien pour m'aider à déterminer ce qu'il considère comme différents.
storeAlert(dummy_variable)
avantclick()
semble fonctionner le mieux pour moi.OriginalL'auteur Altonymous
J'ai vu cette erreur. Dans mon cas, le problème était le temps de latence dans un Ajax objet de réponse a été l'origine de Selenium IDE erreur. La solution qui a fonctionné pour moi a été d'ajouter une commande pause immédiatement après les appels Ajax dans le script de test.
L'appel ci-dessous a été prise quelques secondes pour revenir en cours de validité avec Ajax réponse
cliquez sur
css=#form3 > div.addButton > bouton.btn.btn-primary
Par l'ajout d'une pause de la clause, les "Imprévus" alerte de problème a été résolu
pause
5000
OriginalL'auteur shafi jourabchi
Je vous propose de tester manuellement les étapes qui sont là dans votre sélénium test.Si elle n'est pas reproductible, alors qu'il pourrait ne pas être le problème dans la page.
veuillez déboguer votre sélénium script à affirmer la fonction pour identifier où est-elle trouver l'inattendu alerte.
}
qui vous aidera à identifier le problème. Je vous suggère de répéter le test parce que vous pouvez trouver cette affirmation se produisant dans différentes parties de votre code.
OriginalL'auteur Arjun Nagathankandy