Undtagelseshåndtering ind Selenium Webdriver (typer)

Hvad er en undtagelser?

An undtagelse er en fejl, der opstår på tidspunktet for udførelse af et program. Men mens du kører et program, genererer programmeringssprog en undtagelse, der bør håndteres for at undgå, at dit program går ned.

Undtagelsen indikerer, at selvom hændelsen kan forekomme, sker denne type hændelse sjældent. Når metoden ikke er i stand til at håndtere undtagelsen, kastes den til dens opkaldsfunktion.

Typer af undtagelser i Selenium Webdriver

1. ElementNotVisibleException: Denne type Selenium undtagelse opstår, når et eksisterende element i DOM har et funktionssæt som skjult.

2. ElementNotSelectableException: Denne Selenium undtagelse opstår, når et element præsenteres i DOM, men du kan vælge. Derfor er det ikke muligt at interagere.

3. NoSuchElementException: Denne undtagelse opstår, hvis et element ikke kunne findes.

4. NoSuchFrameException: Denne undtagelse opstår, hvis det rammemål, der skal skiftes til, ikke eksisterer.

5. NoAlertPresentException: Denne undtagelse opstår, når du skifter til ingen præsenteret alarm.

6. NoSuchWindowException: Denne undtagelse opstår, hvis det vinduesmål, der skal skiftes, ikke eksisterer.

7. StaleElementReferenceException: Denne Selenium undtagelse sker, når webelementet er adskilt fra den aktuelle DOM.

8. SessionNotFoundException: WebDriveren handler, efter du har afsluttet browseren.

9. Timeoutundtagelse: Kastes, når der ikke er tid nok til, at en kommando kan fuldføres. For eksempel blev det søgte element ikke fundet inden for det angivne tidspunkt.

10. WebDriverException: Denne undtagelse finder sted, når WebDriveren handler lige efter du har lukket browseren.

11. ConnectionClosedException: Denne type undtagelse finder sted, når der er en afbrydelse i driveren.

12. ElementClickInterceptedException: Kommandoen kan muligvis ikke fuldføres, da det element, der modtager begivenhederne, skjuler det element, der blev anmodet om klikket på.

13. ElementNotInteractableException: Denne Selenium undtagelse kastes, når ethvert element præsenteres i DOM. Det er dog umuligt at interagere med et sådant element.

14. ErrorInResponseException: Dette sker, mens du interagerer med Firefox udvidelse eller fjerndriverserveren.

15. ErrorHandler.UnknownServerException: Undtagelse bruges som pladsholder i tilfælde af, at serveren returnerer en fejl uden stacksporing.

16. ImeActivationFailedException: Denne forventning vil opstå, når aktiveringen af ​​IME-motoren er mislykket.

17. ImeNotAvailableException: Det finder sted, når IME-understøttelse ikke er tilgængelig.

18. InsecureCertificateException: Navigation fik brugeragenten til at ramme en certifikatadvarsel. Dette kan skyldes et ugyldigt eller udløbet TLS-certifikat.

19. InvalidArgumentException: Det opstår, når et argument ikke tilhører den forventede type.

20. InvalidCookieDomainException: Dette sker, når du forsøger at tilføje en cookie under et andet domæne i stedet for den aktuelle URL.

21. InvalidCoordinatesException: Denne type undtagelse matcher en interagerende operation, der ikke er gyldig.

22. InvalidElementStateException: Det opstår, når kommandoen ikke kan afsluttes, når elementet er ugyldigt.

23. InvalidSessionIdException: Denne undtagelse fandt sted, når det givne sessions-id ikke er inkluderet på listen over aktive sessioner. Det betyder, at sessionen ikke eksisterer eller heller ikke er inaktiv.

24. InvalidSwitchToTargetException: Dette sker, når rammen eller vinduesmålet, der skal skiftes, ikke eksisterer.

25. JavascriptException: Dette problem opstår under udførelse af JavaScript givet af brugeren.

26. JsonException: Det opstår, når du har råd til at få sessionen, når sessionen ikke er oprettet.

27. NoSuchAttributeException: Denne form for undtagelse opstår, når attributten for et element ikke kunne findes.

28. MoveTargetOutOfBoundsException: Det finder sted, hvis målet til ActionChains move()-metoden ikke er gyldigt. For eksempel ud af dokumentet.

29. NoSuchContextException: ContextAware udfører test af mobilenheder.

30. NoSuchCookieException: Denne undtagelse opstår, når der ikke findes nogen cookie, der matcher det givne stinavn for alle de tilknyttede cookies i det aktuelt gennemsende dokument.

31. NotFoundException: Denne undtagelse er en underklasse af WebDriverException. Dette vil ske, når et element på DOM ikke eksisterer.

32. RemoteDriverServerException: Denne Selenium undtagelse udløses, når serveren ikke reagerer på grund af problemet med, at de beskrevne funktioner ikke er korrekte.

33. Undtagelse for skærmbillede: Det er ikke muligt at fange en skærm.

34. SessionNotCreatedException: Det sker, når en ny session ikke kunne oprettes.

35. UnableToSetCookieException: Dette sker, hvis en driver ikke er i stand til at indstille en cookie.

36. UnexpectedTagNameException: Sker hvis en supportklasse ikke fik et webelement som forventet.

37. UnhandledAlertException: Denne forventning opstår, når der er en advarsel, men WebDriver er ikke i stand til at udføre advarsel operation.

38. UnexpectedAlertPresentException: Det opstår, når der kommer en uventet alarm.

39. UnknownMethodException: Denne undtagelse sker, når den anmodede kommando matcher med en kendt URL, men ikke matcher med en metode for en specifik URL.

40. UnreachableBrowserException: Denne undtagelse opstår kun, når browseren af ​​en eller anden grund ikke kan åbnes eller gå ned.

41. Unsupported CommandException: Dette sker, når ekstern WebDriver ikke sender gyldige kommandoer som forventet.

Sådan håndterer du undtagelser i Selenium

Her er nogle vigtige standarder, som du kan håndtere undtagelser i Selenium WebDriver:

Trin 1) Prøv-fangst

Denne metode kan fange Undtagelser, som bruger en kombination af søgeordene try og catch. Prøv kommando angiver starten af ​​blokken, og brydning er placeret i slutningen af ​​prøveblokken, hvilket hjælper med at løse undtagelsen.

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

Trin 2) Flere fangblokke

Der er forskellige typer af undtagelser, og du kan forvente mere end én undtagelse fra en enkelt kodeblok. Flere fangster hjælper dig med at håndtere hver type undtagelse separat med en separat kodeblok. Den kan bruges til mere end to catch-blokke, og der er ingen begrænsning på antallet af catch-blokke.

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

Trin 3) Kast

Når du vil generere en undtagelse, bruges Throw nøgleordet til at kaste Undtagelse for at håndtere det i løbetiden. Når du er throwing en undtagelse uden at håndtere det, så skal de bruge Throw keyword.

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

Trin 4) Flere undtagelser

Du kan nævne forskellige undtagelser i kast-klausulen.

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
}

Trin 5) Til sidst

Det endelige nøgleord bruges til at oprette en kodeblok under prøveblokken. Det er den endelige kode, der hjælper dig med at eksekvere uanset forekomsten af ​​en undtagelse

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

Metoder til visning af undtagelse

Du kan også bruge folloenwing metoder til at vise undtagelsesoplysninger:

  • printStackTrace (): Denne funktion udskriver stakspor, navn på undtagelsen og anden nyttig beskrivelse.
  • toString (): Denne funktion returnerer en tekstmeddelelse, der beskriver undtagelsesnavnet og beskrivelsen.
  • getMessage (): Hjælper med at vise beskrivelsen af ​​undtagelsen.

Resumé

  • En undtagelse er en fejl, der opstår på tidspunktet for udførelse af et program.
  • Try-catch: Denne metode kan fange Exceptions, som bruger en kombination af try- og catch-søgeordene.
  • Flere fangster hjælper dig med at håndtere hver type undtagelse separat med en separat kodeblok.
  • Throw nøgleord bruges til at kaste Undtagelse for at håndtere det i løbetid.
  • printStackTrace(): Denne funktion udskriver stack trace, navnet på undtagelsen og anden nyttig beskrivelse
  • toString(): Denne funktion returnerer en tekstmeddelelse, der beskriver undtagelsesnavnet og beskrivelsen.
  • getMessage(): Hjælper med at vise beskrivelsen af ​​undtagelsen.