Upravljanje iznimkama Selenium Webdriver (vrste)

Što su iznimke?

An izuzetak je pogreška koja se događa u trenutku izvođenja programa. Međutim, tijekom izvođenja programa, programski jezici generiraju iznimku kojom se treba pozabaviti kako biste izbjegli pad programa.

Iznimka ukazuje da se, iako se događaj može dogoditi, ova vrsta događaja događa rijetko. Kada metoda ne može obraditi iznimku, baca se na svoju funkciju pozivatelja.

Vrste iznimaka u Selenium Webdriver

1. ElementNotVisibleException: Ova vrsta Selenium iznimka se događa kada postojeći element u DOM-u ima značajku postavljenu kao skrivenu.

2. ElementNotSelectableException: Ova Selenium iznimka se događa kada je element predstavljen u PRESUDA, ali možete moći odabrati. Stoga nije moguća interakcija.

3. NoSuchElementException: Ova se iznimka događa ako se element ne može pronaći.

4. NoSuchFrameException: Ova se iznimka događa ako ciljni okvir na koji se treba prebaciti ne postoji.

5. NoAlertPresentException: Ova se iznimka događa kada se prebacite na bez prikazanog upozorenja.

6. NoSuchWindowException: Ova se iznimka događa ako cilj prozora koji se mijenja ne postoji.

7. StaleElementReferenceException: Ova Selenium iznimka se događa kada je web element odvojen od trenutnog DOM-a.

8. SessionNotFoundException: WebDriver radi nakon što izađete iz preglednika.

9. Timeout Exception: Baca se kada nema dovoljno vremena da se naredba izvrši. Na primjer, traženi element nije pronađen u navedenom vremenu.

10. WebDriverException: Ova se iznimka događa kada WebDriver djeluje odmah nakon što zatvorite preglednik.

11. ConnectionClosedException: Ova vrsta iznimke događa se kada dođe do prekida veze u upravljačkom programu.

12. ElementClickInterceptedException: Naredba možda neće biti dovršena jer element koji prima događaje skriva element na koji je zatražen klik.

13. ElementNotInteractableException: Ova Selenium iznimka se javlja kada je bilo koji element predstavljen u DOM-u. Međutim, nemoguće je komunicirati s takvim elementom.

14. ErrorInResponseException: To se događa tijekom interakcije s Firefox proširenje ili poslužitelj udaljenog upravljačkog programa.

15. ErrorHandler.UnknownServerException: Iznimka se koristi kao rezervirano mjesto u slučaju ako poslužitelj vrati pogrešku bez praćenja stoga.

16. ImeActivationFailedException: Ovo očekivanje će se pojaviti kada aktivacija IME motora ne uspije.

17. ImeNotAvailableException: Događa se kada IME podrška nije dostupna.

18. Iznimka InsecureCertificate: Navigacija je natjerala korisnički agent da udari upozorenje certifikata. To može biti uzrokovano nevažećim ili isteklim TLS certifikatom.

19. InvalidArgumentException: To se događa kada argument ne pripada očekivanom tipu.

20. InvalidCookieDomainException: To se događa kada pokušate dodati kolačić pod drugom domenom umjesto trenutnog URL-a.

21. InvalidCoordinatesException: Ova vrsta iznimke odgovara operaciji interakcije koja nije važeća.

22. InvalidElementStateException: To se događa kada se naredba ne može završiti kada je element nevažeći.

23. InvalidSessionIdException: Ova se iznimka dogodila kada navedeni ID sesije nije uključen u popis aktivnih sesija. To znači da sesija ne postoji ili je neaktivna.

24. InvalidSwitchToTargetiznimka: To se događa kada cilj okvira ili prozora koji se mijenja ne postoji.

25. Javascriptiznimka: Taj se problem javlja tijekom izvođenja JavaSkripta koju daje korisnik.

26. JsonException: To se događa kada si priuštite da dobijete sesiju kada sesija nije stvorena.

27. NoSuchAttributeException: Ova vrsta iznimke događa se kada se atribut elementa ne može pronaći.

28. Pomakni seTargetOutOfBoundsException: Događa se ako cilj dostavljen ActionChains move() metodologiji nije valjan. Na primjer, izvan dokumenta.

29. NoSuchContextException: ContextAware testira mobilne uređaje.

30. NoSuchCookieException: Ova se iznimka događa kada nije pronađen kolačić koji odgovara zadanom putu za sve pridružene kolačiće dokumenta koji trenutno pregledavate.

31. NotFoundException: Ova iznimka je podklasa WebDriverException. To će se dogoditi kada element na DOM-u ne postoji.

32. RemoteDriverServerException: Ova Selenium iznimka se javlja kada poslužitelj ne odgovara zbog problema da opisane mogućnosti nisu ispravne.

33. Iznimka snimke zaslona: Nije moguće snimiti zaslon.

34. SessionNotCreatedException: To se događa kada se nova sesija ne može uspješno stvoriti.

35. Iznimka UnableToSetCookie: To se događa ako vozač ne može postaviti kolačić.

36. UnexpectedTagNameException: Događa se ako klasa podrške nije dobila web element prema očekivanjima.

37. UnhandledAlertException: Ovo se očekivanje događa kada postoji upozorenje, ali WebDriver ne može izvršiti operaciju upozorenja.

38. UnexpectedAlertPresentException: Javlja se kada se pojavi neočekivano upozorenje.

39. UnknownMethodException: Ova se iznimka događa kada se tražena naredba podudara s poznatim URL-om, ali se ne podudara s metodologijom za određeni URL.

40. UnreachableBrowserException: Ova se iznimka događa samo kada se preglednik ne može otvoriti ili se sruši iz nekog razloga.

41. UnsupportedCommandException: To se događa kada udaljeni WebDriver ne šalje važeće naredbe prema očekivanjima.

Kako postupati s iznimkama u Selenium

Ovdje su neki važni standardi pomoću kojih možete rukovati iznimkama Selenium Web Driver:

Korak 1) Pokušaj-uhvati

Ova metoda može uhvatiti iznimke, koja koristi kombinaciju ključnih riječi try i catch. Naredba Try označava početak bloka i Ulov nalazi se na kraju bloka try, što pomaže u rješavanju iznimke.

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

Korak 2) Više blokova za hvatanje

Postoje različite vrste iznimaka i možete očekivati ​​više od jedne iznimke iz jednog bloka koda. Višestruki zahvati pomažu vam da zasebno rukujete svakom vrstom iznimke s posebnim blokom koda. Može se koristiti za više od dva catch bloka, a nema ograničenja u broju catch blokova.

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

Korak 3) Bacite

Kada želite generirati iznimku, ključna riječ Throw koristi se za izbacivanje iznimke za rukovanje njome u vremenu izvođenja. Kada bacate iznimku bez rukovanja njome, tada oni moraju koristiti ključnu riječ Throw.

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

Korak 4) Višestruke iznimke

Možete spomenuti razne iznimke u klauzuli bacanja.

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
}

Korak 5) Konačno

Ključna riječ Final koristi se za stvaranje bloka koda ispod bloka try. To je konačni kod koji vam pomaže da se izvrši bez obzira na pojavu iznimke

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

Metode za prikaz iznimke

Također možete koristiti sljedeće metode za prikaz informacija o iznimkama:

  • printStackTrace(): Ova funkcija ispisuje praćenje stoga, naziv iznimke i drugi korisni opis.
  • toString (): Ova funkcija vraća tekstualnu poruku koja opisuje naziv i opis iznimke.
  • getMessage(): Pomaže u prikazu opisa iznimke.

rezime

  • Izuzetak je pogreška koja se događa u trenutku izvođenja programa.
  • Try-catch: Ova metoda može uhvatiti iznimke, koja koristi kombinaciju ključnih riječi try i catch.
  • Višestruki zahvati pomažu vam da zasebno rukujete svakom vrstom iznimke s posebnim blokom koda.
  • Ključna riječ Throw koristi se za izbacivanje iznimke za rukovanje njome u vremenu izvođenja.
  • printStackTrace(): Ova funkcija ispisuje trag stoga, naziv iznimke i drugi korisni opis
  • toString(): ova funkcija vraća tekstualnu poruku koja opisuje naziv i opis iznimke.
  • getMessage(): Pomaže u prikazu opisa iznimke.