Ausnahmebehandlung in Selenium Webdriver (Typen)

Was ist eine Ausnahme?

An Ausnahme ist ein Fehler, der zum Zeitpunkt der Ausführung eines Programms auftritt. Allerdings erzeugen Programmiersprachen beim Ausführen eines Programms eine Ausnahme, die behandelt werden sollte, um einen Absturz Ihres Programms zu vermeiden.

Die Ausnahme weist darauf hin, dass das Ereignis zwar auftreten kann, diese Art von Ereignis jedoch selten auftritt. Wenn die Methode die Ausnahme nicht verarbeiten kann, wird sie an ihre Aufruferfunktion geworfen.

Arten von Ausnahmen in Selenium Webtreiber

1. ElementNotVisibleException: Diese Art von Selenium Eine Ausnahme tritt auf, wenn für ein vorhandenes Element im DOM ein Feature-Set ausgeblendet ist.

2. ElementNotSelectableException: Dieses Selenium Eine Ausnahme tritt auf, wenn ein Element im präsentiert wird DOM, aber Sie können auswählen. Daher ist eine Interaktion nicht möglich.

3. NoSuchElementException: Diese Ausnahme tritt auf, wenn ein Element nicht gefunden werden konnte.

4. NoSuchFrameException: Diese Ausnahme tritt auf, wenn das Frame-Ziel, zu dem gewechselt werden soll, nicht existiert.

5. NoAlertPresentException: Diese Ausnahme tritt auf, wenn Sie zu „Keine angezeigte Warnung“ wechseln.

6. NoSuchWindowException: Diese Ausnahme tritt auf, wenn das zu wechselnde Fensterziel nicht vorhanden ist.

7. StaleElementReferenceException: Dieses Selenium Eine Ausnahme tritt auf, wenn das Webelement vom aktuellen DOM getrennt wird.

8. SessionNotFoundException: Der WebDriver wird aktiv, nachdem Sie den Browser verlassen.

9. TimeoutException: Wird ausgelöst, wenn nicht genügend Zeit für die Ausführung eines Befehls vorhanden ist. Beispielsweise wurde das gesuchte Element in der angegebenen Zeit nicht gefunden.

10. WebDriverException: Diese Ausnahme tritt auf, wenn der WebDriver unmittelbar nach dem Schließen des Browsers aktiv wird.

11. ConnectionClosedException: Diese Art von Ausnahme tritt auf, wenn die Verbindung zum Treiber unterbrochen wird.

12. ElementClickInterceptedException: Der Befehl kann möglicherweise nicht ausgeführt werden, da das Element, das die Ereignisse empfängt, das angeklickte Element verbirgt.

13. ElementNotInteractableException: Dieses Selenium Eine Ausnahme wird ausgelöst, wenn ein Element im DOM präsentiert wird. Es ist jedoch unmöglich, mit einem solchen Element zu interagieren.

14. ErrorInResponseException: Dies geschieht während der Interaktion mit dem Firefox Erweiterung oder den Remote-Treiberserver.

15. ErrorHandler.UnknownServerException: Die Ausnahme wird als Platzhalter für den Fall verwendet, dass der Server einen Fehler ohne Stack-Trace zurückgibt.

16. ImeActivationFailedException: Diese Erwartung tritt auf, wenn die Aktivierung der IME-Engine fehlgeschlagen ist.

17. ImeNotAvailableException: Dies geschieht, wenn die IME-Unterstützung nicht verfügbar ist.

18. InsecureCertificateException: Die Navigation veranlasste den Benutzeragenten, eine Zertifikatwarnung anzuzeigen. Dies kann durch ein ungültiges oder abgelaufenes TLS-Zertifikat verursacht werden.

19. InvalidArgumentException: Es tritt auf, wenn ein Argument nicht zum erwarteten Typ gehört.

20. InvalidCookieDomainException: Dies geschieht, wenn Sie versuchen, ein Cookie unter einer anderen Domäne anstelle der aktuellen URL hinzuzufügen.

21. InvalidCoordinatesException: Dieser Ausnahmetyp entspricht einer ungültigen Interaktionsoperation.

22. InvalidElementStateException: Es tritt auf, wenn der Befehl nicht beendet werden kann, wenn das Element ungültig ist.

23. 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 existiert oder auch inaktiv ist.

24. Ungültiger Wechsel zuTargetAusnahme: Dies tritt auf, wenn das zu wechselnde Frame- oder Fensterziel nicht vorhanden ist.

25 JavascriptAusnahme: Dieses Problem tritt beim Ausführen auf JavaVom Benutzer bereitgestelltes Skript.

26. JsonException: Es tritt auf, wenn Sie es sich leisten können, die Sitzung abzurufen, wenn die Sitzung nicht erstellt wird.

27. NoSuchAttributeException: Diese Art von Ausnahme tritt auf, wenn das Attribut eines Elements nicht gefunden werden konnte.

28. BewegungTargetAusnahme vom Typ „OutOfBoundsException“: Dies geschieht, wenn das für die ActionChains-move()-Methode bereitgestellte Ziel ungültig ist. Zum Beispiel aus dem Dokument.

29. NoSuchContextException: ContextAware führt Tests mobiler Geräte durch.

30. NoSuchCookieException: Diese Ausnahme tritt auf, wenn für alle zugehörigen Cookies des aktuell durchsuchten Dokuments kein Cookie gefunden wird, das mit dem angegebenen Pfadnamen übereinstimmt.

31. NotFoundException: Diese Ausnahme ist eine Unterklasse von WebDriverException. Dies tritt auf, wenn ein Element im DOM nicht vorhanden ist.

32. RemoteDriverServerException: Dieses Selenium Eine Ausnahme wird ausgelöst, wenn der Server aufgrund des Problems, dass die beschriebenen Funktionen nicht ordnungsgemäß sind, nicht antwortet.

33. ScreenshotException: Es ist nicht möglich, einen Bildschirm aufzunehmen.

34. SessionNotCreatedException: Dies geschieht, wenn eine neue Sitzung nicht erfolgreich erstellt werden konnte.

35. UnableToSetCookieException: Dies geschieht, wenn ein Treiber kein Cookie setzen kann.

36. UnexpectedTagNameException: Tritt auf, wenn eine Support-Klasse nicht wie erwartet ein Webelement erhalten hat.

37. UnhandledAlertException: Diese Erwartung wird erfüllt, wenn eine Warnung vorliegt, WebDriver jedoch nicht in der Lage ist, den Warnvorgang auszuführen.

38. UnexpectedAlertPresentException: Dies geschieht, wenn eine unerwartete Warnung auftritt.

39. UnknownMethodException: Diese Ausnahme tritt auf, wenn der angeforderte Befehl mit einer bekannten URL übereinstimmt, aber nicht mit einer Methodik für eine bestimmte URL übereinstimmt.

40. UnreachableBrowserException: Diese Ausnahme tritt nur auf, wenn der Browser aus irgendeinem Grund nicht geöffnet werden kann oder abstürzt.

41. UnsupportedCommandException: Dies tritt auf, wenn der Remote-WebDriver nicht wie erwartet gültige Befehle sendet.

So behandeln Sie Ausnahmen in Selenium

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

Schritt 1) ​​Versuchen und fangen

Diese Methode kann Ausnahmen abfangen, indem sie eine Kombination aus den Schlüsselwörtern „try“ und „catch“ verwendet. Der Try-Befehl gibt den Anfang des Blocks an und Ringen wird am Ende des Try-Blocks platziert, was hilft, die Ausnahme aufzulösen.

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

Schritt 2) Mehrere Catch-Blöcke

Es gibt verschiedene Arten von Ausnahmen, und Sie können von einem einzelnen Codeblock mehr als eine Ausnahme erwarten. Mithilfe mehrerer Catches können Sie jede Art von Ausnahme separat mit einem separaten Codeblock behandeln. Es kann für mehr als zwei Catch-Blöcke verwendet werden und es gibt keine Beschränkung hinsichtlich der Anzahl der Catch-Blöcke.

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

Schritt 3) Werfen

Wenn Sie eine Ausnahme generieren möchten, wird das Schlüsselwort Throw verwendet, um die Ausnahme auszulösen und sie zur Laufzeit zu verarbeiten. Wenn Sie eine Ausnahme auslösen, ohne sie zu verarbeiten, müssen Sie das Schlüsselwort Throw verwenden.

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);
}
}

Schritt 4) Mehrere Ausnahmen

Sie können in der throws-Klausel verschiedene Ausnahmen erwähnen.

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
}

Schritt 5) Endlich

Das Schlüsselwort Final wird verwendet, um einen Codeblock unter dem Try-Block zu erstellen. Es handelt sich um den endgültigen Code, der Ihnen bei der Ausführung unabhängig vom Auftreten einer Ausnahme hilft

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

Methoden zum Anzeigen von Ausnahmen

Sie können zum Anzeigen von Ausnahmeinformationen auch die folgenden Methoden verwenden:

  • printStackTrace (): Diese Funktion gibt den Stack-Trace, den Namen der Ausnahme und andere nützliche Beschreibungen aus.
  • toString (): Diese Funktion gibt eine Textnachricht zurück, die den Ausnahmenamen 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: Mit dieser Methode können Ausnahmen abgefangen werden, wobei eine Kombination aus den Schlüsselwörtern „Try“ und „Catch“ verwendet wird.
  • Mithilfe mehrerer Catches können Sie jede Art von Ausnahme separat mit einem separaten Codeblock behandeln.
  • Das Schlüsselwort „Throw“ wird verwendet, um eine Ausnahme auszulösen und diese zur Laufzeit zu behandeln.
  • printStackTrace(): Diese Funktion druckt den Stack-Trace, den Namen der Ausnahme und andere nützliche Beschreibungen
  • toString(): Diese Funktion gibt eine Textnachricht zurück, die den Ausnahmenamen und die Beschreibung beschreibt.
  • getMessage(): Hilft beim Anzeigen der Beschreibung der Ausnahme.