Εξαίρεση Χειρισμός σε Selenium Webdriver (Τύποι)

Τι είναι οι Εξαιρέσεις;

An εξαίρεση είναι ένα σφάλμα που συμβαίνει τη στιγμή της εκτέλεσης ενός προγράμματος. Ωστόσο, κατά την εκτέλεση ενός προγράμματος, οι γλώσσες προγραμματισμού δημιουργούν μια εξαίρεση που πρέπει να χειριστείτε για να αποφύγετε τη συντριβή του προγράμματός σας.

Η εξαίρεση υποδεικνύει ότι, αν και το συμβάν μπορεί να συμβεί, αυτός ο τύπος συμβάντος συμβαίνει σπάνια. Όταν η μέθοδος δεν είναι σε θέση να χειριστεί την Εξαίρεση, μεταφέρεται στη λειτουργία καλούντος.

Τύποι εξαιρέσεων σε Selenium Πρόγραμμα οδήγησης Web

1. ElementNotVisibleException: Αυτό το είδος της Selenium Η εξαίρεση εμφανίζεται όταν ένα υπάρχον στοιχείο στο DOM έχει ένα χαρακτηριστικό που έχει οριστεί ως κρυφό.

2. ElementNotSelectableException: Αυτός ο διαλογισμός στα Selenium Η εξαίρεση εμφανίζεται όταν ένα στοιχείο παρουσιάζεται στο DOM, αλλά μπορείτε να επιλέξετε. Επομένως, δεν είναι δυνατή η αλληλεπίδραση.

3. NoSuchElementException: Αυτή η εξαίρεση προκύπτει εάν δεν ήταν δυνατό να βρεθεί ένα στοιχείο.

4. NoSuchFrameException: Αυτή η εξαίρεση προκύπτει εάν δεν υπάρχει ο στόχος πλαισίου στον οποίο θα γίνει εναλλαγή.

5. NoAlertPresentException: Αυτή η εξαίρεση προκύπτει όταν μεταβαίνετε σε μη παρουσιαζόμενη ειδοποίηση.

6. NoSuchWindowException: Αυτή η εξαίρεση προκύπτει εάν ο διακόπτης στόχου παραθύρου δεν υπάρχει.

7. StaleElementReferenceException: Αυτός ο διαλογισμός στα Selenium Η εξαίρεση συμβαίνει όταν το στοιχείο web αποσπάται από το τρέχον DOM.

8. SessionNotFoundException: Το WebDriver ενεργεί αφού κλείσετε το πρόγραμμα περιήγησης.

9. TimeoutException: Πετάγεται όταν δεν υπάρχει αρκετός χρόνος για να ολοκληρωθεί μια εντολή. Για παράδειγμα, το στοιχείο που αναζητήθηκε δεν βρέθηκε στον καθορισμένο χρόνο.

10. WebDriverException: Αυτή η εξαίρεση λαμβάνει χώρα όταν το WebDriver ενεργεί αμέσως μετά το κλείσιμο του προγράμματος περιήγησης.

11. ConnectionClosedException: Αυτός ο τύπος Εξαίρεσης λαμβάνει χώρα όταν υπάρχει αποσύνδεση στο πρόγραμμα οδήγησης.

12. ElementClickInterceptedException: Η εντολή μπορεί να μην ολοκληρωθεί καθώς το στοιχείο που λαμβάνει τα συμβάντα κρύβει το στοιχείο στο οποίο ζητήθηκε να κάνετε κλικ.

13. ElementNotInteractableException: Αυτός ο διαλογισμός στα Selenium Η εξαίρεση γίνεται όταν παρουσιάζεται οποιοδήποτε στοιχείο στο DOM. Ωστόσο, είναι αδύνατο να αλληλεπιδράσετε με ένα τέτοιο στοιχείο.

14. ErrorInResponseException: Αυτό συμβαίνει κατά την αλληλεπίδραση με το Firefox επέκταση ή τον απομακρυσμένο διακομιστή προγράμματος οδήγησης.

15. ErrorHandler.UnknownServerException: Η εξαίρεση χρησιμοποιείται ως σύμβολο κράτησης θέσης σε περίπτωση που ο διακομιστής επιστρέψει ένα σφάλμα χωρίς ίχνος στοίβας.

16. ImeActivationFailedException: Αυτή η προσδοκία θα προκύψει όταν αποτύχει η ενεργοποίηση του κινητήρα IME.

17. ImeNotAvailableException: Πραγματοποιείται όταν η υποστήριξη IME δεν είναι διαθέσιμη.

18. InsecureCertificateException: Η πλοήγηση έκανε τον παράγοντα χρήστη να εμφανίσει μια προειδοποίηση πιστοποιητικού. Αυτό μπορεί να οφείλεται σε μη έγκυρο ή ληγμένο πιστοποιητικό TLS.

19. InvalidArgumentException: Εμφανίζεται όταν ένα όρισμα δεν ανήκει στον αναμενόμενο τύπο.

20. InvalidCookieDomainException: Αυτό συμβαίνει όταν προσπαθείτε να προσθέσετε ένα cookie σε διαφορετικό τομέα αντί για την τρέχουσα διεύθυνση URL.

21. InvalidCoordinatesException: Αυτός ο τύπος Εξαίρεσης ταιριάζει με μια αλληλεπίδραση λειτουργία που δεν είναι έγκυρη.

22. InvalidElementStateException: Εμφανίζεται όταν η εντολή δεν μπορεί να ολοκληρωθεί όταν το στοιχείο δεν είναι έγκυρο.

23. InvalidSessionIdException: Αυτή η εξαίρεση πραγματοποιήθηκε όταν το συγκεκριμένο αναγνωριστικό περιόδου σύνδεσης δεν περιλαμβάνεται στη λίστα των ενεργών περιόδων σύνδεσης. Σημαίνει ότι η συνεδρία δεν υπάρχει ή είναι ανενεργή.

24. InvalidSwitchToTargetεξαίρεση: Αυτό συμβαίνει όταν ο στόχος πλαισίου ή παραθύρου προς εναλλαγή δεν υπάρχει.

25. Javascriptεξαίρεση: Αυτό το ζήτημα παρουσιάζεται κατά την εκτέλεση JavaΣενάριο που δίνεται από τον χρήστη.

26. JsonException: Συμβαίνει όταν έχετε την οικονομική δυνατότητα να λάβετε τη συνεδρία όταν η περίοδος λειτουργίας δεν έχει δημιουργηθεί.

27. NoSuchAttributeException: Αυτό το είδος Εξαίρεσης εμφανίζεται όταν το χαρακτηριστικό ενός στοιχείου δεν ήταν δυνατό να βρεθεί.

28. ΚίνησηTargetOutOfBoundsException: Πραγματοποιείται εάν ο στόχος που παρέχεται στη μεθοδολογία ActionChains move() δεν είναι έγκυρος. Για παράδειγμα, εκτός του εγγράφου.

29. NoSuchContextException: Το ContextAware κάνει δοκιμές φορητών συσκευών.

30. NoSuchCookieException: Αυτή η εξαίρεση προκύπτει όταν δεν βρέθηκε κανένα cookie που να ταιριάζει με το συγκεκριμένο όνομα διαδρομής για όλα τα συσχετισμένα cookie του εγγράφου που περιηγείται αυτήν τη στιγμή.

31. NotFoundException: Αυτή η εξαίρεση είναι μια υποκατηγορία του WebDriverException. Αυτό θα συμβεί όταν ένα στοιχείο στο DOM δεν υπάρχει.

32. RemoteDriverServerException: Αυτός ο διαλογισμός στα Selenium Η εξαίρεση εμφανίζεται όταν ο διακομιστής δεν αποκρίνεται λόγω του προβλήματος ότι οι δυνατότητες που περιγράφονται δεν είναι κατάλληλες.

33. Εξαίρεση στιγμιότυπου οθόνης: Δεν είναι δυνατή η λήψη οθόνης.

34. SessionNotCreatedException: Συμβαίνει όταν δεν ήταν δυνατή η επιτυχής δημιουργία μιας νέας συνεδρίας.

35. UnableToSetCookieException: Αυτό συμβαίνει εάν ένα πρόγραμμα οδήγησης δεν μπορεί να ορίσει ένα cookie.

36. UnnexpectedTagNameException: Συμβαίνει εάν μια κλάση υποστήριξης δεν έλαβε ένα στοιχείο ιστού όπως αναμενόταν.

37. UnhandledAlertException: Αυτή η προσδοκία προκύπτει όταν υπάρχει μια ειδοποίηση, αλλά το WebDriver δεν μπορεί να εκτελέσει τη λειτουργία ειδοποίησης.

38. UnexpectedAlertPresentException: Εμφανίζεται όταν εμφανίζεται μια απροσδόκητη ειδοποίηση.

39. UnknownMethodException: Αυτή η εξαίρεση συμβαίνει όταν η ζητούμενη εντολή ταιριάζει με μια γνωστή διεύθυνση URL αλλά και δεν ταιριάζει με μια μεθοδολογία για μια συγκεκριμένη διεύθυνση URL.

40. UnreachableBrowserException: Αυτή η εξαίρεση προκύπτει μόνο όταν το πρόγραμμα περιήγησης δεν μπορεί να ανοίξει ή να διακοπεί για κάποιο λόγο.

41. UnsupportedCommandException: Αυτό συμβαίνει όταν το απομακρυσμένο WebDriver δεν στέλνει έγκυρες εντολές όπως αναμένεται.

Πώς να χειριστείτε τις εξαιρέσεις σε Selenium

Ακολουθούν ορισμένα σημαντικά πρότυπα με τα οποία μπορείτε να χειριστείτε τις Εξαιρέσεις Selenium WebDriver:

Βήμα 1) Try-catch

Αυτή η μέθοδος μπορεί να εντοπίσει τις Εξαιρέσεις, οι οποίες χρησιμοποιούν έναν συνδυασμό των λέξεων-κλειδιών δοκιμής και αλίευσης. Η εντολή Try υποδεικνύει την έναρξη του μπλοκ και πάλη τοποθετείται στο τέλος του μπλοκ δοκιμής, το οποίο βοηθά στην επίλυση της Εξαίρεσης.

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

Βήμα 2) Πολλαπλά μπλοκ αλίευσης

Υπάρχουν διάφοροι τύποι Εξαιρέσεις και μπορείτε να περιμένετε περισσότερες από μία εξαιρέσεις από ένα μεμονωμένο μπλοκ κώδικα. Πολλαπλές συλλήψεις σάς βοηθούν να χειρίζεστε κάθε τύπο Εξαίρεσης ξεχωριστά με ξεχωριστό μπλοκ κώδικα. Μπορεί να χρησιμοποιηθεί για περισσότερα από δύο μπλοκ συλλήψεων και δεν υπάρχει περιορισμός στον αριθμό των μπλοκ αλίευσης.

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

Βήμα 3) Πέτα

Όταν θέλετε να δημιουργήσετε μια Εξαίρεση, η λέξη-κλειδί Throw χρησιμοποιείται για τη δημιουργία Εξαίρεσης για να τη χειριστείτε κατά το χρόνο εκτέλεσης. Όταν ρίχνετε μια Εξαίρεση χωρίς να τη χειρίζεστε, τότε πρέπει να χρησιμοποιούν λέξη-κλειδί 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);
}
}

Βήμα 4) Πολλαπλές Εξαιρέσεις

Μπορείτε να αναφέρετε διάφορες Εξαιρέσεις στη ρήτρα ρίψεων.

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
}

Βήμα 5) Τέλος

Η λέξη-κλειδί Τελική χρησιμοποιείται για τη δημιουργία ενός μπλοκ κώδικα κάτω από το μπλοκ δοκιμής. Είναι ο τελικός κώδικας που σας βοηθά να εκτελείτε ανεξάρτητα από την εμφάνιση μιας εξαίρεσης

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

Μέθοδοι εμφάνισης Εξαίρεσης

Μπορείτε επίσης να χρησιμοποιήσετε τις ακόλουθες μεθόδους για να εμφανίσετε πληροφορίες εξαίρεσης:

  • printStackTrace(): Αυτή η συνάρτηση εκτυπώνει το ίχνος στοίβας, το όνομα της Εξαίρεσης και άλλη χρήσιμη περιγραφή.
  • toString (): Αυτή η συνάρτηση επιστρέφει ένα μήνυμα κειμένου που περιγράφει το όνομα και την περιγραφή της εξαίρεσης.
  • getMessage(): Βοηθά στην εμφάνιση της περιγραφής της Εξαίρεσης.

Σύνοψη

  • Εξαίρεση αποτελεί ένα σφάλμα που συμβαίνει τη στιγμή της εκτέλεσης ενός προγράμματος.
  • Try-catch: Αυτή η μέθοδος μπορεί να εντοπίσει Exceptions, η οποία χρησιμοποιεί έναν συνδυασμό των λέξεων-κλειδιών try and catch.
  • Πολλαπλές συλλήψεις σάς βοηθούν να χειρίζεστε κάθε τύπο Εξαίρεσης ξεχωριστά με ξεχωριστό μπλοκ κώδικα.
  • Η λέξη-κλειδί "ρίψη" χρησιμοποιείται για τη ρίψη Εξαίρεση για τον χειρισμό της κατά το χρόνο εκτέλεσης.
  • printStackTrace(): Αυτή η συνάρτηση εκτυπώνει το ίχνος στοίβας, το όνομα της Εξαίρεσης και άλλη χρήσιμη περιγραφή
  • toString(): Αυτή η συνάρτηση επιστρέφει ένα μήνυμα κειμένου που περιγράφει το όνομα και την περιγραφή της εξαίρεσης.
  • getMessage(): Βοηθά στην εμφάνιση της περιγραφής της Εξαίρεσης.