Behandlung von Selenausnahmen (Liste allgemeiner Ausnahmen)

Inhaltsverzeichnis:

Anonim

Was ist eine Ausnahme?

Eine Ausnahme ist ein Fehler, der zum Zeitpunkt der Ausführung eines Programms auftritt. Während der Ausführung eines Programms generieren Programmiersprachen jedoch eine Ausnahme, die behandelt werden sollte, um einen Absturz Ihres Programms zu vermeiden.

Die Ausnahme gibt an, dass diese Art von Ereignis selten auftritt, obwohl das Ereignis auftreten kann. Wenn die Methode die Ausnahme nicht verarbeiten kann, wird sie an ihre Aufruferfunktion übergeben. Wenn eine Ausnahme aus der Hauptfunktion geworfen wird, wird das Programm schließlich abrupt beendet.

In diesem Tutorial lernen Sie:

  • Was ist eine Ausnahme?
  • Ausnahmen im Selenium Web-Treiber
  • Umgang mit Selenausnahmen
  • Methoden zum Anzeigen von Ausnahmen

Häufige Ausnahmen im Selenium Web-Treiber

Ausnahmename Beschreibung
ElementNotVisibleException Diese Art von Selenium-Ausnahme tritt auf, wenn für ein vorhandenes Element in DOM ein Funktionssatz als ausgeblendet gilt.
ElementNotSelectableException Diese Selenium-Ausnahme tritt auf, wenn ein Element im DOM angezeigt wird, Sie können es jedoch auswählen. Daher ist eine Interaktion nicht möglich.
NoSuchElementException Diese Ausnahme tritt auf, wenn ein Element nicht gefunden werden konnte.
NoSuchFrameException Diese Ausnahme tritt auf, wenn das Frame-Ziel, zu dem gewechselt werden soll, nicht vorhanden ist.
NoAlertPresentException Diese Ausnahme tritt auf, wenn Sie zu keiner angezeigten Warnung wechseln.
NoSuchWindowException Diese Ausnahme tritt auf, wenn das zu wechselnde Fensterziel nicht vorhanden ist.
StaleElementReferenceException Diese Selenium-Ausnahme tritt auf, wenn das Webelement vom aktuellen DOM getrennt wird.
SessionNotFoundException Der WebDriver reagiert, nachdem Sie den Browser verlassen haben.
TimeoutException Wird ausgelöst, wenn nicht genügend Zeit vorhanden ist, um einen Befehl auszuführen. Zum Beispiel wurde das gesuchte Element nicht in der angegebenen Zeit gefunden.
WebDriverException Diese Ausnahme tritt auf, wenn der WebDriver direkt nach dem Schließen des Browsers reagiert.
ConnectionClosedException Diese Art von Ausnahme tritt auf, wenn im Treiber eine Unterbrechung vorliegt.
ElementClickInterceptedException Der Befehl wird möglicherweise nicht ausgeführt, da das Element, das die Ereignisse empfängt, das angeklickte Element verbirgt.
ElementNotInteractableException Diese Selenium-Ausnahme wird ausgelöst, wenn ein Element im DOM angezeigt wird. Es ist jedoch unmöglich, mit einem solchen Element zu interagieren.
ErrorInResponseException Dies geschieht während der Interaktion mit der Firefox-Erweiterung oder dem Remote-Treiberserver.
ErrorHandler.UnknownServerException Die Ausnahme wird als Platzhalter verwendet, wenn der Server einen Fehler ohne Stack-Trace zurückgibt.
ImeActivationFailedException Diese Erwartung tritt auf, wenn die Aktivierung der IME-Engine fehlgeschlagen ist.
ImeNotAvailableException Es findet statt, wenn keine IME-Unterstützung verfügbar ist.
InsecureCertificateException Durch die Navigation hat der Benutzeragent eine Zertifikatwarnung erhalten. Dies kann durch ein ungültiges oder abgelaufenes TLS-Zertifikat verursacht werden.
InvalidArgumentException Es tritt auf, wenn ein Argument nicht zum erwarteten Typ gehört.
InvalidCookieDomainException Dies geschieht, wenn Sie versuchen, ein Cookie unter einer anderen Domain anstelle der aktuellen URL hinzuzufügen.
InvalidCoordinatesException Diese Art von Ausnahme entspricht einer nicht gültigen Interaktionsoperation.
InvalidElementStateExceptio Es tritt auf, wenn der Befehl nicht beendet werden kann, wenn das Element ungültig ist.
InvalidSessionIdException Diese Ausnahme trat auf, wenn die angegebene Sitzungs-ID nicht in der Liste der aktiven Sitzungen enthalten ist. Dies bedeutet, dass die Sitzung nicht vorhanden oder auch inaktiv ist.
InvalidSwitchToTargetException Dies tritt auf, wenn das zu schaltende Rahmen- oder Fensterziel nicht vorhanden ist.
JavascriptException Dieses Problem tritt beim Ausführen von vom Benutzer angegebenem JavaScript auf.
JsonException Es tritt auf, wenn Sie es sich leisten, die Sitzung abzurufen, wenn die Sitzung nicht erstellt wurde.
NoSuchAttributeException Diese Art von Ausnahme tritt auf, wenn das Attribut eines Elements nicht gefunden werden konnte.
MoveTargetOutOfBoundsException Es findet statt, wenn das für die moveC-Methode (ActionChains) angegebene Ziel nicht gültig ist. Zum Beispiel aus dem Dokument.
NoSuchContextException ContextAware führt Tests für mobile Geräte durch.
NoSuchCookieException Diese Ausnahme tritt auf, wenn für alle zugehörigen Cookies des aktuell durchsuchten Dokuments kein Cookie gefunden wurde, das mit dem angegebenen Pfadnamen übereinstimmt.
NotFoundException Diese Ausnahme ist eine Unterklasse von WebDriverException. Dies tritt auf, wenn ein Element im DOM nicht vorhanden ist.
RemoteDriverServerException Diese Selenium-Ausnahme wird ausgelöst, wenn der Server aufgrund des Problems, dass die beschriebenen Funktionen nicht ordnungsgemäß sind, nicht reagiert.
ScreenshotException Es ist nicht möglich, einen Bildschirm aufzunehmen.
SessionNotCreatedException Es passiert, wenn eine neue Sitzung nicht erfolgreich erstellt werden konnte.
UnableToSetCookieException Dies tritt auf, wenn ein Treiber kein Cookie setzen kann.
UnexpectedTagNameException Passiert, wenn eine Support-Klasse nicht wie erwartet ein Webelement erhalten hat.
UnhandledAlertException Diese Erwartung tritt auf, wenn eine Warnung vorliegt, WebDriver jedoch keine Warnungsoperation ausführen kann.
UnexpectedAlertPresentException Es tritt auf, wenn eine unerwartete Warnung auftritt.
UnknownMethodException Diese Ausnahme tritt auf, wenn der angeforderte Befehl mit einer bekannten URL übereinstimmt, jedoch nicht mit einer Methodik für eine bestimmte URL.
UnreachableBrowserException Diese Ausnahme tritt nur auf, wenn der Browser aus irgendeinem Grund nicht geöffnet werden kann oder abstürzt.
UnsupportedCommandException Dies tritt auf, wenn der Remote-WebDriver nicht wie erwartet gültige Befehle sendet.

Umgang mit Selenausnahmen

Hier sind einige wichtige Standards, mit denen Sie Ausnahmen in Selenium WebDriver behandeln können:

Try-catch : Diese Methode kann Ausnahmen abfangen, bei denen eine Kombination der Schlüsselwörter try und catch verwendet wird. Der Befehl Try gibt den Beginn des Blocks an, und Catch wird am Ende des Try-Blocks platziert, um die Ausnahme zu beheben.

Versuchen{// Code} catch (Ausnahme e) {// Code für die Behandlung von Ausnahmen}}
  • Mehrere Catch-Blöcke : Es gibt verschiedene Arten von Ausnahmen, und Sie können mehr als eine Ausnahme von einem einzelnen Codeblock erwarten. Mehrere Fänge helfen Ihnen, jede Art von Ausnahme mit einem separaten Codeblock separat zu behandeln. Es kann für mehr als zwei Fangblöcke verwendet werden, und die Anzahl der Fangblöcke ist nicht begrenzt.
Versuchen{//Code} catch (ExceptionType1 e1) {// Code für die Behandlung von Ausnahmen 1} catch (ExceptionType2 e2) {// Code für die Behandlung der Ausnahme 2}}
  • Auslösen : Wenn Sie eine Ausnahme generieren möchten, wird das Schlüsselwort Auswerfen verwendet, um eine Ausnahme auszulösen und diese zur Laufzeit zu behandeln. Wenn Sie eine Ausnahme auslösen, ohne sie zu behandeln, müssen sie das Schlüsselwort Throw verwenden.
public static void anyFunction () löst eine Ausnahme aus {Versuchen {// schreibe deinen Code hier} Catch (Ausnahme b) {// Mach was du willst// Wirf die Ausnahme zurück ins Systemwerfen (b);}}}}
  • Mehrere Ausnahmen : Sie können verschiedene Ausnahmen in der Throws-Klausel erwähnen.
public static void anyFunction () löst ExceptionType1, ExceptionType2 {ausVersuchen {// schreibe deinen Code hier} catch (ExceptionType1 e1) {// Code zur Behandlung von Ausnahme 1} catch (ExceptionType1 e2) {// Code zur Behandlung von Ausnahme 2}}
  • Schließlich : Das Schlüsselwort Final wird verwendet, um einen Codeblock unter dem try-Block zu erstellen. Dies ist der endgültige Code, mit dessen Hilfe Sie unabhängig vom Auftreten einer Ausnahme ausgeführt werden können
Versuchen {//Code} catch (ExceptionType1 e1) {// Block fangen} catch (ExceptionType2 e2) {// Block fangen} catch (ExceptionType3 e3) {// Block fangen} endlich {// Der finally-Block wird immer ausgeführt.}}

Methoden zum Anzeigen von Ausnahmen

Sie können auch die folgenden Methoden verwenden, um Ausnahmeinformationen anzuzeigen:

  • printStackTrace () : Diese Funktion druckt die Stapelverfolgung, den Namen der Ausnahme und andere nützliche Beschreibungen.
  • toString () : Diese Funktion gibt eine Textnachricht zurück, die den Ausnahmennamen und die Beschreibung beschreibt.
  • getMessage () : Hilft bei der Anzeige der Beschreibung der Ausnahme.

Zusammenfassung:

  • Eine Ausnahme ist ein Fehler, der zum Zeitpunkt der Ausführung eines Programms auftritt.
  • Try-catch: Diese Methode kann Ausnahmen abfangen, bei denen eine Kombination der Schlüsselwörter try und catch verwendet wird.
  • Mehrere Fänge helfen Ihnen, jede Art von Ausnahme mit einem separaten Codeblock separat zu behandeln.
  • Das Schlüsselwort Throw wird verwendet, um Exception auszulösen und es zur Laufzeit zu verarbeiten.
  • printStackTrace (): Diese Funktion druckt die Stapelverfolgung, den Namen der Ausnahme und andere nützliche Beschreibungen
  • toString (): Diese Funktion gibt eine Textnachricht zurück, die den Ausnahmennamen und die Beschreibung beschreibt.
  • getMessage (): Hilft bei der Anzeige der Beschreibung der Ausnahme.