Χειρισμός εξαιρέσεων σεληνίου (Κοινή λίστα εξαιρέσεων)

Πίνακας περιεχομένων:

Anonim

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

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

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

Σε αυτό το σεμινάριο, θα μάθετε:

  • Τι είναι οι εξαιρέσεις;
  • Εξαιρέσεις στο πρόγραμμα οδήγησης Web Selenium
  • Χειρισμός εξαιρέσεων σεληνίου
  • Μέθοδοι για την εμφάνιση της Εξαίρεσης

Κοινές εξαιρέσεις στο πρόγραμμα οδήγησης Ιστού Selenium

Όνομα εξαίρεσης Περιγραφή
ElementNotVisibleException Αυτός ο τύπος εξαίρεσης σεληνίου εμφανίζεται όταν ένα υπάρχον στοιχείο στο DOM έχει ένα σύνολο χαρακτηριστικών ως κρυφό.
ElementNotSelectableException Αυτή η εξαίρεση Selenium εμφανίζεται όταν ένα στοιχείο εμφανίζεται στο DOM, αλλά μπορείτε να επιλέξετε. Επομένως, δεν είναι δυνατή η αλληλεπίδραση.
NoSuchElementException Αυτή η εξαίρεση προκύπτει εάν δεν ήταν δυνατή η εύρεση ενός στοιχείου.
NoSuchFrameException Αυτή η εξαίρεση προκύπτει εάν ο στόχος καρέ προς αλλαγή δεν υπάρχει.
NoAlertPresentException Αυτή η εξαίρεση προκύπτει όταν αλλάζετε σε μη εμφανιζόμενη ειδοποίηση.
NoSuchWindowException Αυτή η εξαίρεση προκύπτει εάν δεν υπάρχει στόχος παραθύρου για αλλαγή.
StaleElementReferenceException Αυτή η εξαίρεση Selenium συμβαίνει όταν το στοιχείο ιστού αποσυνδέεται από το τρέχον DOM.
SessionNotFoundException Το WebDriver ενεργεί αφού κλείσετε το πρόγραμμα περιήγησης.
TimeoutException Πετάχτηκε όταν δεν υπάρχει αρκετός χρόνος για να ολοκληρωθεί μια εντολή. Για παράδειγμα, το στοιχείο που αναζητήθηκε δεν βρέθηκε στον καθορισμένο χρόνο.
WebDriverException Αυτή η εξαίρεση λαμβάνει χώρα όταν το WebDriver ενεργεί αμέσως μετά το κλείσιμο του προγράμματος περιήγησης.
ConnectionClosedException Αυτός ο τύπος εξαίρεσης λαμβάνει χώρα όταν υπάρχει αποσύνδεση στο πρόγραμμα οδήγησης.
ElementClickInterceptedException Η εντολή ενδέχεται να μην ολοκληρωθεί καθώς το στοιχείο που λαμβάνει τα συμβάντα αποκρύπτει το στοιχείο στο οποίο ζητήθηκε κλικ.
ElementNotInteractableException Αυτή η εξαίρεση σεληνίου ρίχνεται όταν οποιοδήποτε στοιχείο παρουσιάζεται στο DOM. Ωστόσο, είναι αδύνατο να αλληλεπιδράσετε με ένα τέτοιο στοιχείο.
ΣφάλμαInResponseException Αυτό συμβαίνει ενώ αλληλεπιδράτε με την επέκταση Firefox ή τον απομακρυσμένο διακομιστή προγραμμάτων οδήγησης.
ErrorHandler.UnknownServerException Η εξαίρεση χρησιμοποιείται ως σύμβολο κράτησης θέσης σε περίπτωση που ο διακομιστής επιστρέψει σφάλμα χωρίς ίχνος στοίβας.
ImeActivationFailedException Αυτή η προσδοκία θα συμβεί όταν η ενεργοποίηση του κινητήρα IME απέτυχε.
ImeNotAvailableException Πραγματοποιείται όταν η υποστήριξη IME δεν είναι διαθέσιμη.
InsecureCertificateException Η πλοήγηση έκανε τον πράκτορα χρήστη να χτυπήσει μια προειδοποίηση πιστοποιητικού. Αυτό μπορεί να προκληθεί από μη έγκυρο ή λήξει πιστοποιητικό TLS.
Μη έγκυρη εξαίρεση Εμφανίζεται όταν ένα όρισμα δεν ανήκει στον αναμενόμενο τύπο.
Μη έγκυροCookieDomainException Αυτό συμβαίνει όταν προσπαθείτε να προσθέσετε ένα cookie σε διαφορετικό τομέα αντί για την τρέχουσα διεύθυνση URL.
InvalidCoordinatesException Αυτός ο τύπος εξαίρεσης αντιστοιχεί σε μια αλληλεπιδραστική λειτουργία που δεν είναι έγκυρη.
Μη έγκυροElementStateExceptio Εμφανίζεται όταν η εντολή δεν μπορεί να ολοκληρωθεί όταν το στοιχείο δεν είναι έγκυρο.
InvalidSessionIdException Αυτή η εξαίρεση πραγματοποιήθηκε όταν το δεδομένο αναγνωριστικό περιόδου σύνδεσης δεν περιλαμβάνεται στη λίστα ενεργών συνεδριών. Σημαίνει ότι η περίοδος λειτουργίας δεν υπάρχει ούτε είναι ανενεργή.
Μη έγκυροSwitchToTargetException Αυτό συμβαίνει όταν δεν υπάρχει στόχος πλαισίου ή παραθύρου προς αλλαγή.
JavascriptException Αυτό το ζήτημα παρουσιάζεται κατά την εκτέλεση JavaScript που δίνεται από τον χρήστη.
JsonException Εμφανίζεται όταν έχετε τη δυνατότητα να λάβετε την περίοδο λειτουργίας όταν η συνεδρία δεν δημιουργείται.
NoSuchAttributeException Αυτό το είδος εξαίρεσης εμφανίζεται όταν δεν ήταν δυνατή η εύρεση του χαρακτηριστικού ενός στοιχείου.
MoveTargetOutOfBoundsException Πραγματοποιείται εάν ο στόχος που παρέχεται στη μεθοδολογία ActionChains move () δεν είναι έγκυρος. Για παράδειγμα, έξω από το έγγραφο.
NoSuchContextException Το ContextAware κάνει δοκιμές σε κινητές συσκευές.
NoSuchCookieException Αυτή η εξαίρεση προκύπτει όταν δεν βρέθηκε cookie που να ταιριάζει με το δεδομένο όνομα διαδρομής για όλα τα σχετικά cookie του εγγράφου περιήγησης.
NotFoundException Αυτή η εξαίρεση είναι μια υποκατηγορία του WebDriverException. Αυτό θα συμβεί όταν δεν υπάρχει στοιχείο στο DOM.
RemoteDriverServerException Αυτή η εξαίρεση Selenium εμφανίζεται όταν ο διακομιστής δεν αποκρίνεται λόγω του προβλήματος ότι οι δυνατότητες που περιγράφονται δεν είναι κατάλληλες.
ScreenshotException Δεν είναι δυνατή η λήψη μιας οθόνης.
SessionNotCreatedException Συμβαίνει όταν δεν ήταν δυνατή η επιτυχής δημιουργία μιας νέας περιόδου σύνδεσης.
UnableToSetCookieException Αυτό συμβαίνει εάν ένα πρόγραμμα οδήγησης δεν μπορεί να ορίσει ένα cookie.
UnknownTagNameException Συμβαίνει εάν μια τάξη υποστήριξης δεν έλαβε ένα στοιχείο ιστού όπως αναμενόταν.
UnhandledAlertException Αυτή η προσδοκία προκύπτει όταν υπάρχει ειδοποίηση, αλλά το WebDriver δεν είναι σε θέση να εκτελέσει τη λειτουργία ειδοποίησης.
UnknownAlertPresentException Εμφανίζεται όταν εμφανίζεται μια απροσδόκητη ειδοποίηση.
UnknownMethodException Αυτή η εξαίρεση συμβαίνει όταν η ζητούμενη εντολή ταιριάζει με μια γνωστή διεύθυνση URL, αλλά και δεν ταιριάζει με μια μεθοδολογία για μια συγκεκριμένη διεύθυνση URL.
UnreachableBrowserException Αυτή η εξαίρεση παρουσιάζεται μόνο όταν το πρόγραμμα περιήγησης δεν μπορεί να ανοίξει ή να καταρρεύσει για κάποιο λόγο.
Μη υποστηριζόμενηCommandException Αυτό συμβαίνει όταν το απομακρυσμένο WebDriver δεν στέλνει έγκυρες εντολές όπως αναμένεται.

Χειρισμός εξαιρέσεων σεληνίου

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

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

προσπαθήστε{// Κωδικός} αλίευση (Εξαίρεση ε) {// Κωδικός εξαίρεσης}
  • Πολλά μπλοκ αλίευσης : Υπάρχουν διάφοροι τύποι εξαιρέσεων και μπορείτε να περιμένετε περισσότερες από μία εξαιρέσεις από ένα μόνο μπλοκ κώδικα. Τα πολλαπλά αλιεύματα σας βοηθούν να χειριστείτε κάθε τύπο εξαίρεσης ξεχωριστά με ένα ξεχωριστό μπλοκ κώδικα. Μπορεί να χρησιμοποιηθεί για περισσότερα από δύο μπλοκ αλιευμάτων, και δεν υπάρχει περιορισμός στον αριθμό των μπλοκ αλιευμάτων.
προσπαθήστε{//Κώδικας} αλίευση (ExceptionType1 e1) {// Κωδικός για την εξαίρεση 1} αλίευση (ExceptionType2 e2) {// Κωδικός για την εξαίρεση 2}
  • Throw : Όταν θέλετε να δημιουργήσετε μια Εξαίρεση, η λέξη-κλειδί Throw χρησιμοποιείται για να ρίξει την Εξαίρεση για να την χειριστεί στο χρόνο εκτέλεσης. Όταν ρίχνετε μια Εξαίρεση χωρίς να τη χειριστείτε, τότε πρέπει να χρησιμοποιήσετε τη λέξη-κλειδί Throw.
public static void anyFunction () ρίχνει την εξαίρεση {προσπαθήστε {// γράψτε τον κωδικό σας εδώ} Πιάσε (Εξαίρεση β) {// Κάντε ό, τι θέλετε να εκτελέσετε// Ρίξτε ξανά την Εξαίρεση στο σύστημαρίξτε (b);}}
  • Πολλαπλές εξαιρέσεις : Μπορείτε να αναφέρετε διάφορες εξαιρέσεις στον όρο ρίψεων.
public static void anyFunction () ρίχνει ExceptionType1, ExceptionType2 {προσπαθήστε {// γράψτε τον κωδικό σας εδώ} αλίευση (ExceptionType1 e1) {// Κωδικός για τη διαχείριση της εξαίρεσης 1} αλίευση (ExceptionType1 e2) {// Κωδικός για τη διαχείριση της εξαίρεσης 2}
  • Τέλος : Η τελική λέξη-κλειδί χρησιμοποιείται για τη δημιουργία ενός μπλοκ κώδικα κάτω από το μπλοκ δοκιμής. Είναι ο τελικός κώδικας που σας βοηθά να εκτελείτε ανεξάρτητα από την εμφάνιση εξαίρεσης
προσπαθήστε {//Κώδικας} αλίευση (ExceptionType1 e1) {// Μπλοκ σύλληψης} αλίευση (ExceptionType2 e2) {// Μπλοκ σύλληψης} αλίευση (ExceptionType3 e3) {// Μπλοκ σύλληψης} τελικά {// Το τελικά μπλοκ εκτελείται πάντα.}

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

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

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

Περίληψη:

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