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.