Što su iznimke?
Izuzetak je pogreška koja se događa u vrijeme izvođenja programa. Međutim, dok izvode program, programski jezici generiraju iznimku kojom bi se trebalo rukovati kako bi se izbjeglo rušenje vašeg programa.
Iznimka ukazuje da se, iako se događaj može dogoditi, ova vrsta događaja događa rijetko. Kada se metoda ne može nositi s iznimkom, ona se prebacuje na funkciju pozivatelja. Na kraju, kada se izuzetak izbaci iz glavne funkcije, program se naglo prekida.
U ovom vodiču naučit ćete:
- Što su iznimke?
- Iznimke u upravljačkom programu Selenium Web
- Rukovanje iznimkama selena
- Metode za prikazivanje iznimke
Uobičajene iznimke u upravljačkom programu Selenium Web
Ime iznimke | Opis |
ElementNotVisibleException | Ova vrsta selenijske iznimke događa se kada postojeći element u DOM-u ima postavljenu značajku kao skrivenu. |
ElementNotSelectableException | Ova iznimka selena događa se kada je element predstavljen u DOM-u, ali možete biti u mogućnosti odabrati. Stoga nije moguće komunicirati. |
NoSuchElementException | Ova se iznimka događa ako element nije moguće pronaći. |
NoSuchFrameException | Ova se iznimka događa ako cilj okvira na koji se treba prebaciti ne postoji. |
NoAlertPresentException | Ova se iznimka događa kada se prebacite na nijedno upozorenje. |
NoSuchWindowException | Ova se iznimka događa ako cilj prozora koji treba prebaciti ne postoji. |
StaleElementReferenceException | Ova iznimka selena događa se kada se web element odvoji od trenutnog DOM-a. |
SessionNotFoundException | WebDriver djeluje nakon što izađete iz preglednika. |
TimeoutException | Bačen kad nema dovoljno vremena za izvršavanje naredbe. Na primjer, pretraženi element nije pronađen u navedenom vremenu. |
WebDriverException | Ova se iznimka događa kada WebDriver djeluje odmah nakon zatvaranja preglednika. |
ConnectionClosedException | Ova vrsta iznimke događa se kada postoji prekid veze u upravljačkom programu. |
ElementClickInterceptedException | Naredba se možda neće dovršiti jer element koji prima događaje prikriva element na koji je zatražen klik. |
ElementNotInteractableException | Ova izuzetak selena baca se kada je bilo koji element predstavljen u DOM-u. Međutim, nemoguće je komunicirati s takvim elementom. |
ErrorInResponseException | To se događa tijekom interakcije s Firefoxovim proširenjem ili udaljenim poslužiteljem upravljačkih programa. |
ErrorHandler.UnknownServerException | Iznimka se koristi kao rezervirano mjesto u slučaju ako poslužitelj vrati pogrešku bez traga stoga. |
ImeActivationFailedException | Ovo će se očekivanje dogoditi kada aktiviranje IME motora ne uspije. |
ImeNotAvailableException | Događa se kad IME podrška nije dostupna. |
InsecureCertificateException | Navigacija je učinila da korisnički agent pogodi upozorenje o certifikatu. To može uzrokovati nevažeći ili istekao TLS certifikat. |
NevažećeArgumentException | Pojavljuje se kada argument ne pripada očekivanom tipu. |
InvalidCookieDomainException | To se događa kada pokušate dodati kolačić pod drugu domenu umjesto trenutnog URL-a. |
InvalidCoordinatesException | Ova vrsta iznimke podudara se s operacijom koja nije valjana. |
InvalidElementStateExceptio | To se događa kada naredba ne može biti gotova kada je element nevaljan. |
InvalidSessionIdException | Ova se iznimka dogodila kada zadani ID sesije nije uključen na popis aktivnih sesija. To znači da sesija ne postoji ili je neaktivna. |
InvalidSwitchToTargetException | To se događa kada okvir ili prozor cilja koji treba prebaciti ne postoji. |
JavascriptException | Do ovog problema dolazi tijekom izvršavanja JavaScript-a koji je dao korisnik. |
JsonException | To se događa kada si priuštite da dobijete sesiju kada sesija nije kreirana. |
NoSuchAttributeException | Ova vrsta iznimke događa se kada atribut elementa nije moguće pronaći. |
MoveTargetOutOfBoundsException | Događa se ako cilj naveden u metodologiji ActionChains move () nije valjan. Na primjer, izvan dokumenta. |
NoSuchContextException | ContextAware vrši testiranje mobilnih uređaja. |
NoSuchCookieException | Ova se iznimka događa kada nije pronađen nijedan kolačić koji se podudara s danim imenom putanje za sve povezane kolačiće dokumenta trenutno pregledavanja. |
NotFoundException | Ova je iznimka podrazred WebDriverException. To će se dogoditi kada element na DOM-u ne postoji. |
RemoteDriverServerException | Ova se izuzetak selena baca kada poslužitelj ne reagira zbog problema s tim što opisane mogućnosti nisu ispravne. |
Iznimka zaslona | Nije moguće snimiti zaslon. |
SessionNotCreatedException | To se događa kada se novu sesiju nije moglo uspješno stvoriti. |
UnableToSetCookieException | To se događa ako vozač nije u mogućnosti postaviti kolačić. |
UnexpectedTagNameException | Događa se ako klasa podrške nije dobila web element kako se očekivalo. |
UnhandledAlertException | Ovo se očekivanje događa kada postoji upozorenje, ali WebDriver ne može izvršiti operaciju upozorenja. |
UnexpectedAlertPresentException | Pojavljuje se kada se pojavi neočekivano upozorenje. |
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. |
UnreachableBrowserException | Ova se iznimka događa samo kada se preglednik iz nekog razloga ne može otvoriti ili srušiti. |
UnsupportedCommandException | To se događa kada udaljeni WebDriver ne šalje valjane naredbe kako se očekivalo. |
Rukovanje iznimkama selena
Evo nekoliko važnih standarda pomoću kojih se možete nositi s iznimkama u programu Selenium WebDriver:
Try-catch : Ova metoda može uhvatiti iznimke, koja koristi kombinaciju ključnih riječi try and catch. Naredba try označava početak bloka, a Catch se postavlja na kraj bloka try, što pomaže u rješavanju iznimke.
probati{// Šifra} catch (Iznimka e) {// Kôd za rukovanje iznimkom}
- Više blokova ulova : Postoje razne vrste iznimki i možete očekivati više od jedne iznimke od jednog bloka koda. Višestruki hvatači pomažu vam da obrađujete svaku vrstu iznimke zasebno s zasebnim blokom koda. Može se koristiti za više od dva bloka ulova i nema ograničenja u broju blokova ulova.
probati{//Kodirati} catch (ExceptionType1 e1) {// Kôd za rukovanje iznimkom 1} catch (ExceptionType2 e2) {// Kôd za rukovanje iznimkom 2}
- Bacanje : Kada želite generirati iznimku, ključna riječ Throw koristi se za bacanje iznimke kako bi se njome rukovalo u vremenu izvođenja. Kada bacate Iznimku bez da se njome rukujete, tada trebaju koristiti ključnu riječ Throw.
javna statička void anyFunction () baca iznimku {probaj {// ovdje napišite svoj kod} Ulov (izuzetak b) {// Radi sve što želiš izvesti// Vratite iznimku natrag u sustavbaciti (b);}}
- Višestruke iznimke : U klauzuli o bacanju možete spomenuti razne iznimke.
javna statička void anyFunction () baca ExceptionType1, ExceptionType2 {probaj {// ovdje napišite svoj kod} catch (ExceptionType1 e1) {// Kôd za obradu iznimke 1} catch (ExceptionType1 e2) {// Kôd za obradu iznimke 2}
- Konačno : Ključna riječ Final koristi se za stvaranje bloka koda ispod bloka try. Konačni je kôd koji vam pomaže izvršiti bez obzira na pojavu iznimke
probaj {//Kodirati} catch (ExceptionType1 e1) {// Blok ulova} catch (ExceptionType2 e2) {// Blok ulova} catch (ExceptionType3 e3) {// Blok ulova} napokon {// Konačni blok se uvijek izvršava.}
Metode za prikazivanje iznimke
Također možete koristiti sljedeće metode za prikaz podataka o iznimkama:
- printStackTrace () : Ova funkcija ispisuje trag steka, naziv iznimke i drugi koristan opis.
- toString () : Ova funkcija vraća tekstualnu poruku koja opisuje naziv i opis iznimke.
- getMessage () : Pomaže u prikazivanju opisa iznimke.
Sažetak:
- Iznimka je pogreška koja se dogodi u vrijeme izvršavanja programa.
- Try-catch: Ova metoda može uhvatiti iznimke, koja koristi kombinaciju ključnih riječi try and catch.
- Višestruki hvatači pomažu vam da obrađujete svaku vrstu iznimke zasebno s zasebnim blokom koda.
- Ključna riječ Throw koristi se za bacanje Exceptiona kako bi se njome rukovalo u vremenu izvođenja.
- printStackTrace (): Ova funkcija ispisuje trag steka, naziv iznimke i drugi koristan opis
- toString (): Ova funkcija vraća tekstualnu poruku koja opisuje naziv i opis iznimke.
- getMessage (): Pomaže u prikazivanju opisa iznimke.