Gestion des exceptions dans Selenium Webdriver (Types)

Qu'est-ce qu'une exception ?

An exception est une erreur qui se produit au moment de l'exécution d'un programme. Cependant, lors de l'exécution d'un programme, les langages de programmation génèrent une exception qui doit être gérée pour éviter que votre programme ne plante.

L'exception indique que, même si l'événement peut se produire, ce type d'événement se produit rarement. Lorsque la méthode n'est pas capable de gérer l'exception, elle est renvoyée à sa fonction appelante.

Types d'exceptions dans Selenium Webdriver

1. ElementNotVisibleException : Ce type d'exception Selenium se produit lorsqu'un élément existant dans le DOM a une fonctionnalité définie comme masquée.

2. ElementNotSelectableException : Cette exception Selenium se produit lorsqu'un élément est présenté dans le DOM, mais vous pouvez sélectionner. Il n’est donc pas possible d’interagir.

3. NoSuchElementException : Cette exception se produit si un élément est introuvable.

4. NoSuchFrameException : Cette exception se produit si la cible de trame vers laquelle basculer n’existe pas.

5. NoAlertPresentException : Cette exception se produit lorsque vous passez à aucune alerte présentée.

6. NoSuchWindowException : Cette exception se produit si la fenêtre cible à changer n'existe pas.

7. StaleElementReferenceException : Cette exception Selenium se produit lorsque l'élément Web est détaché du DOM actuel.

8. Exception SessionNotFound : Le WebDriver agit après que vous ayez quitté le navigateur.

9. TimeoutException : Lancé lorsqu'il n'y a pas assez de temps pour qu'une commande soit exécutée. Par exemple, l'élément recherché n'a pas été trouvé dans le délai spécifié.

10. WebDriverException : Cette exception se produit lorsque WebDriver agit juste après la fermeture du navigateur.

11. ConnectionClosedException : Ce type d'exception se produit en cas de déconnexion du pilote.

12. ElementClickInterceptedException : La commande peut ne pas être exécutée car l'élément recevant les événements masque l'élément sur lequel il a été demandé de cliquer.

13. ElementNotInteractableException : Cette exception Selenium est levée lorsqu'un élément est présenté dans le DOM. Il est cependant impossible d’interagir avec un tel élément.

14. ErreurErreurInResponseException : Cela se produit lors de l'interaction avec le Firefox extension ou le serveur de pilotes distant.

15. ErrorHandler.UnknownServerException : L'exception est utilisée comme espace réservé au cas où le serveur renvoie une erreur sans trace de pile.

16. ImeActivationFailedException : Cette attente se produira lorsque l’activation du moteur IME aura échoué.

17. ImeNotAvailableException : Cela a lieu lorsque le support IME n’est pas disponible.

18. InsecureCertificateException : La navigation a obligé l'agent utilisateur à émettre un avertissement de certificat. Cela peut être dû à un certificat TLS invalide ou expiré.

19. InvalidArgumentException : Cela se produit lorsqu'un argument n'appartient pas au type attendu.

20. InvalidCookieDomainException : Cela se produit lorsque vous essayez d'ajouter un cookie sous un domaine différent au lieu de l'URL actuelle.

21. InvalidCoordonnéesException : Ce type d'exception correspond à une opération en interaction qui n'est pas valide.

22. InvalidElementStateException : Cela se produit lorsque la commande ne peut pas être terminée lorsque l'élément n'est pas valide.

23. InvalidSessionIdException : Cette exception a eu lieu lorsque l'ID de session donné n'est pas inclus dans la liste des sessions actives. Cela signifie que la session n'existe pas ou est inactive.

24. InvalidSwitchToTargetException : Cela se produit lorsque le cadre ou la fenêtre cible à changer n'existe pas.

25. JavascriptException : Ce problème se produit lors de l'exécution du JavaScript fourni par l'utilisateur.

26. JsonException : Cela se produit lorsque vous vous permettez d'obtenir la session alors que la session n'est pas créée.

27. NoSuchAttributeException : Ce type d'exception se produit lorsque l'attribut d'un élément est introuvable.

28. Exception MoveTargetOutOfBounds : Cela a lieu si la cible fournie à la méthodologie ActionChains move() n'est pas valide. Par exemple, hors du document.

29. NoSuchContextException : ContextAware effectue des tests sur les appareils mobiles.

30. NoSuchCookieException : Cette exception se produit lorsqu'aucun cookie correspondant au chemin d'accès donné n'est trouvé pour tous les cookies associés au document en cours de navigation.

31. NotFoundException : Cette exception est une sous-classe de WebDriverException. Cela se produira lorsqu'un élément du DOM n'existe pas.

32. Exception RemoteDriverServer : Cette exception Selenium est levée lorsque le serveur ne répond pas en raison du problème selon lequel les fonctionnalités décrites ne sont pas appropriées.

33. Capture d'écranException : Il n'est pas possible de capturer un écran.

34. Exception SessionNotCreated : Cela se produit lorsqu'une nouvelle session n'a pas pu être créée avec succès.

35. UnableToSetCookieException : Cela se produit si un pilote ne parvient pas à définir un cookie.

36. Exception inattendue de nom de balise : Se produit si une classe de support n'a pas obtenu un élément Web comme prévu.

37. Exception d'alerte non gérée : Cette attente se produit lorsqu'il y a une alerte, mais que WebDriver n'est pas en mesure d'effectuer l'opération d'alerte.

38. Exception inattendueAlertPresent : Cela se produit lorsqu'une alerte inattendue apparaît.

39. Exception de méthode inconnue : Cette exception se produit lorsque la commande demandée correspond à une URL connue mais ne correspond pas à une méthodologie pour une URL spécifique.

40. Exception de navigateur inaccessible : Cette exception se produit uniquement lorsque le navigateur ne peut pas être ouvert ou plante pour une raison quelconque.

41. Exception de commande non prise en charge : Cela se produit lorsque WebDriver distant n'envoie pas de commandes valides comme prévu.

Comment gérer les exceptions dans Selenium

Voici quelques normes importantes grâce auxquelles vous pouvez gérer les exceptions dans Selenium WebDriver :

Étape 1) Essayez-attrapez

Cette méthode peut intercepter les exceptions, qui utilisent une combinaison des mots-clés try et catch. La commande Try indique le début du bloc, et Attraper est placé à la fin du bloc try, ce qui aide à résoudre l'exception.

try
{
// Code
} catch (Exception e) {
// Code for Handling exception
}

Étape 2) Plusieurs blocs de capture

Il existe différents types d'exceptions et vous pouvez vous attendre à plus d'une exception pour un seul bloc de code. Plusieurs captures vous aident à gérer chaque type d’exception séparément avec un bloc de code distinct. Il peut être utilisé pour plus de deux blocs catch, et il n’y a aucune limitation sur le nombre de blocs catch.

try
{
//Code
} catch (ExceptionType1 e1) {
//Code for Handling Exception 1
} catch (ExceptionType2 e2) {
//Code for Handling Exception 2
}

Étape 3) Lancer

Lorsque vous souhaitez générer une exception, le mot-clé Throw est utilisé pour lancer une exception afin de la gérer au moment de l'exécution. Quand tu es à boutwing une exception sans la gérer, ils doivent alors utiliser le mot-clé Throw.

public static void anyFunction() throws Exception{

try {
// write your code here
} Catch (Exception b) {
// Do whatever you want to perform 
// Throw the Exception back to the system
throw(b);
}
}

Étape 4) Plusieurs exceptions

Vous pouvez mentionner diverses exceptions dans la clause throws.

public static void anyFunction() throws ExceptionType1, ExceptionType2{

try {
// write your code here
} catch (ExceptionType1 e1) {
// Code to handle exception 1
} catch (ExceptionType1 e2) {
// Code to handle exception 2
}

Étape 5) Enfin

Le mot-clé Final est utilisé pour créer un bloc de code sous le bloc try. C'est le code final qui vous aide à s'exécuter indépendamment de l'apparition d'une exception

try {
//Code
} catch (ExceptionType1 e1) {
//Catch block
} catch (ExceptionType2 e2) {
//Catch block
} catch (ExceptionType3 e3) {
//Catch block
} finally {
//The finally block always executes.
}

Méthodes d'affichage de l'exception

Vous pouvez également utiliser le suiviwing méthodes pour afficher les informations sur les exceptions :

  • printStackTrace (): Cette fonction imprime la trace de la pile, le nom de l'exception et toute autre description utile.
  • toString (): Cette fonction renvoie un message texte décrivant le nom et la description de l'exception.
  • getMessage (): Aide à afficher la description de l'exception.

Résumé

  • Une exception est une erreur qui se produit au moment de l'exécution d'un programme.
  • Try-catch : cette méthode peut intercepter les exceptions, qui utilisent une combinaison des mots-clés try et catch.
  • Plusieurs captures vous aident à gérer chaque type d’exception séparément avec un bloc de code distinct.
  • Le mot-clé Throw est utilisé pour lancer une exception afin de la gérer au moment de l'exécution.
  • printStackTrace() : Cette fonction imprime la trace de la pile, le nom de l'exception et d'autres descriptions utiles
  • toString() : Cette fonction renvoie un message texte décrivant le nom et la description de l'exception.
  • getMessage() : permet d'afficher la description de l'exception.