Selenium IDE: Comment continuer script sur l'élément est introuvable ou en cas d'erreur
J'ai besoin de votre aide. Je veux juste continuer mon Selenium IDE script sur Firefox, même il y a une erreur ou d'un élément non trouvé. Je suis l'aide d'un script avec format HTML.
Si vous êtes à ce point, je vous suggère d'exportation de code pour une utilisation avec du sélénium webdriver et commencer à attraper les exceptions, comme Thiago suggéré dans sa réponse.
OriginalL'auteur Rommer Dela Cruz | 2013-08-21
Vous devez vous connecter pour publier un commentaire.
Vous devez faire une vérification explicite si un élément est présent avant l'utilisation de cet élément dans la commande suivante (qui peut causer une erreur et rupture d'une exécution d'un script). L'utilisateur de l'extension "sideflow" permet conditionnelle sauts à l'intérieur de votre code.
Voici la page d'accueil de sideflow extension: https://github.com/darrenderidder/sideflow
Avec sideflow extension, vous pouvez utiliser un code comme ceci:
OriginalL'auteur Yevgen Ulyanenkov
Si vous utilisez tous les
verify
liées commande alors votre script ne s'arrête pas si l'élément n'est pas trouvé par seleniun IDE mais si vous utilisezassert
liées commande alors votre script, c'est d'arrêter si cet élément n'est pas trouvé par selenium ideSi vous avez créer votre script à l'aide de
verifytext
de commande, puis exécutez le script et voir votre script ne va pas s'arrêter si l'élément n'est pas affichéen fait, si l'élément n'est pas présent, verifyVisible va arrêter le script, vous devez utiliser verifyElementPresent
OriginalL'auteur Ankit jain
Vous pouvez également utiliser le plugin Selblocks qui met en œuvre les "attraper" la méthode pour rattraper l'erreur et de continuer le script de toute façon.
try/catch/finally blocs
Essayez peut fournir un traitement lorsqu'une erreur est levée, et peut garantir l'exécution, par exemple, de "nettoyage" de la logique.
Un bloc catch spécifie que faire si une erreur est levée dans le bloc try. C'est, si aucune instruction dans le bloc try, ou dans une fonction ou sous-fonction appelée dans le bloc try, déclenche une erreur, puis saute au bloc catch correspondant, et l'erreur est effacée. Si aucune erreur n'est levée dans le bloc try, puis le bloc catch est ignorée. Catch intercepte une erreur donnée par correspondance sur son message d'erreur, qui est défini comme un "sous-chaîne", ou une expression régulière/. Pas de spécification de rattraper toutes les erreurs.
Un bloc finally est exécuté après les blocs try et catch. Il s'exécute toujours indépendamment de si oui ou non une erreur est levée ou capturés. Il s'exécute même si le bloc try ou catch conclut par "changement d'écoulement" des commandes: continuer, pause, retour, ou exitTest commandes.
Essayez les blocs peuvent être imbriquées. Si un intérieur essayez de ne pas attraper une erreur, l'affichage de try/catch est entré. Le contenu de tous imbriqués enfin le bloc(s) sont garantis à exécuter, plus intime ultrapériphériques de nouveau, même en cas d'erreur(s) se produisent le long de la voie.
À la fois de capture et enfin sont facultatives, mais si aucun n'est fourni, l'essai n'a tout simplement aucun effet.
Une option identifiant peut être spécifié sur essayer et endTry, qui sera validé pour la bonne liaison.
Exemple de try/catch/finally
essayer|extérieur
essayer|intérieure
jeter|"blamo"
getEval|alert("cette alerte NE sera exécutée")
enfin
getEval|alert("1")
endTry|intérieure
catch|/blamo/
getEval|alert("2")
endTry|extérieur
Vous pouvez en lire plus ici http://refactoror.wikia.com/wiki/Selblocks_Reference
OriginalL'auteur Daniel Deglin
Cet exemple est pour le nouveau Selenium IDE version 3 qui fonctionne sur Firefox et Chrome. Le principe de base:
1) magasin de xpath comte -- cela permet d'économiser le nombre d'éléments qui correspondent à une variable
2) si, dans ce cas test le comte est plus que 0
3) faire de la magie des trucs
4) fin
Voici un article que j'ai posté en utilisant le même exemple: http://lance.bio/2018/12/21/selenium-ide-if-element-exists/
OriginalL'auteur Lance Cleveland
Selenium IDE plug-in est conçu plus pour l'enregistrement (c'est à dire, à vous montrer le code de l'action); il ne permet pas de lecture, mais c'est assez limité et je ne suis pas sûr qu'il vous permet de gérer les erreurs. Maintenant, si vous vous êtes prêt à l'utilisation réelle de programmation, alors vous pouvez facilement gérer les erreurs. E. g., en Python, vous pouvez utiliser quelque chose comme ceci:
OriginalL'auteur Parzival
Voici comment j'ai résolu le problème, par exemple avec un
SELECT
commande :J'ai créé un
trySelect
commande personnalisée qui agissent comme un normalselect
mais ne vous arrêtez pas à l'épreuve si elle ne parvient pas à trouver l'élément1) créer un fichier 'user-extensions.js" avec le code suivant
2) dans Selenium IDE => options => options => général : ajouter votre "user-extensions.js' fichier dans la 3ème entrée, comme ci-dessous
3) redémarrez Selenium IDE
4) exemple d'utilisation (comme une sélection normale)
Vous pouvez faire de même pour les autres commandes qui peut échouer, comme
click
par exemple.OriginalL'auteur Matthieu
C'est maintenant super facile avec le Kantu Selenium IDE: il suffit d'utiliser !errorignore:
Et si vous voulez vérifier plus tard dans votre script si il y avait une erreur et de faire quelque chose à ce sujet, vous avez uniquement besoin de vérifier la valeur de !statusOK:
OriginalL'auteur Tim Vanderzeil
waitForElementPresent
option.OriginalL'auteur DiptiC