Hva er unntak?
Et unntak er en feil som oppstår på tidspunktet for utførelsen av et program. Mens du kjører et program, genererer programmeringsspråk imidlertid et unntak som bør håndteres for å unngå at programmet krasjer.
Unntaket indikerer at denne hendelsen skjer sjelden, selv om hendelsen kan inntreffe. Når metoden ikke er i stand til å håndtere unntaket, blir den kastet til anropsfunksjonen. Til slutt, når et unntak blir kastet ut av hovedfunksjonen, avsluttes programmet brått.
I denne opplæringen lærer du:
- Hva er unntak?
- Unntak i Selenium-driver
- Håndtering av unntak av selen
- Metoder for visning av unntak
Vanlige unntak i Selenium-driver
Unntak navn | Beskrivelse |
ElementNotVisibleException | Denne typen Selenium-unntak oppstår når et eksisterende element i DOM har et funksjonssett som skjult. |
ElementNotSelectableException | Dette Selen-unntaket oppstår når et element presenteres i DOM, men du kan være i stand til å velge. Derfor er det ikke mulig å samhandle. |
NoSuchElementException | Dette unntaket oppstår hvis et element ikke ble funnet. |
NoSuchFrameException | Dette unntaket oppstår hvis rammemålet som skal byttes til ikke eksisterer. |
NoAlertPresentException | Dette unntaket oppstår når du bytter til ingen presentert varsel. |
NoSuchWindowException | Dette unntaket oppstår hvis vindusmålet som skal byttes ikke eksisterer. |
StaleElementReferenceException | Dette Selen-unntaket oppstår skjer når webelementet er løsrevet fra den nåværende DOM. |
SessionNotFoundException | WebDriver handler når du avslutter nettleseren. |
TimeoutException | Kastes når det ikke er nok tid til å fullføre en kommando. For eksempel ble elementet som ble søkt ikke funnet i den angitte tiden. |
WebDriverException | Dette unntaket finner sted når WebDriver handler rett etter at du har lukket nettleseren. |
ConnectionClosedException | Denne typen unntak finner sted når det er frakobling i sjåføren. |
ElementClickInterceptedException | Kommandoen kan ikke fullføres da elementet som mottar hendelsene skjuler elementet som ble bedt om, klikket på. |
ElementNotInteractableException | Dette Selen-unntaket kastes når noe element presenteres i DOM. Det er imidlertid umulig å samhandle med et slikt element. |
ErrorInResponseException | Dette skjer mens du kommuniserer med Firefox-utvidelsen eller den eksterne driver-serveren. |
ErrorHandler.UnknownServerException | Unntak brukes som plassholder i tilfelle hvis serveren returnerer en feil uten stabelspor. |
ImeActivationFailedException | Denne forventningen vil oppstå når IME-motoraktivering mislyktes. |
ImeNotAvailableException | Det skjer når IME-støtte ikke er tilgjengelig. |
Usikker sertifisering unntak | Navigasjon fikk brukeragenten til å treffe en sertifikatadvarsel. Dette kan skyldes et ugyldig eller utløpt TLS-sertifikat. |
InvalidArgumentException | Det oppstår når et argument ikke tilhører den forventede typen. |
InvalidCookieDomainException | Dette skjer når du prøver å legge til en informasjonskapsel under et annet domene i stedet for gjeldende URL. |
InvalidCoordinatesException | Denne typen unntak samsvarer med en samhandlende operasjon som ikke er gyldig. |
InvalidElementStateExceptio | Det oppstår når kommandoen ikke kan fullføres når elementet er ugyldig. |
InvalidSessionIdException | Dette unntaket fant sted når den gitte økt-IDen ikke er inkludert i listen over aktive økter. Det betyr at økten ikke eksisterer eller er inaktiv heller. |
InvalidSwitchToTargetException | Dette skjer når rammen eller vindusmålet som skal byttes ikke eksisterer. |
JavascriptException | Dette problemet oppstår mens JavaScript kjøres av brukeren. |
Json unntak | Det oppstår når du har råd til å få økten når økten ikke er opprettet. |
NoSuchAttributeException | Denne typen unntak oppstår når attributtet til et element ikke ble funnet. |
MoveTargetOutOfBoundsException | Det finner sted hvis målet som er gitt til ActionChains move () -metoden ikke er gyldig. For eksempel ut av dokumentet. |
NoSuchContextException | ContextAware utfører mobile enheter. |
NoSuchCookieException | Dette unntaket oppstår når ingen informasjonskapsler som samsvarer med det gitte stienavnet, ble funnet for alle de tilknyttede informasjonskapslene i det aktuelle dokumentet. |
NotFoundException | Dette unntaket er en underklasse av WebDriverException. Dette vil skje når et element på DOM ikke eksisterer. |
RemoteDriverServerException | Dette Selen-unntaket blir kastet når serveren ikke svarer på grunn av problemet med at funksjonene som er beskrevet ikke er riktige. |
ScreenshotException | Det er ikke mulig å fange en skjerm. |
SessionNotCreatedException | Det skjer når en ny økt ikke kunne opprettes. |
UnableToSetCookieException | Dette skjer hvis en driver ikke kan angi en informasjonskapsel. |
UnexpectedTagNameException | Skjer hvis en supportklasse ikke fikk et webelement som forventet. |
UnhandledAlertException | Denne forventningen oppstår når det er et varsel, men WebDriver er ikke i stand til å utføre varslingsoperasjon. |
UnexpectedAlertPresentException | Det oppstår når det ser ut som et uventet varsel. |
Ukjent metode unntak | Dette unntaket skjer når den forespurte kommandoen samsvarer med en kjent URL, men ikke samsvarer med en metodikk for en spesifikk URL. |
UnreachableBrowserException | Dette unntaket oppstår bare når nettleseren ikke kan åpnes eller krasjet av en eller annen grunn. |
Ikke-støttet CommandException | Dette skjer når ekstern WebDriver ikke sender gyldige kommandoer som forventet. |
Håndtering av unntak av selen
Her er noen viktige standarder som du kan håndtere unntak i Selenium WebDriver:
Try-catch : Denne metoden kan fange unntak, som bruker en kombinasjon av søkeordene. Try-kommandoen indikerer starten på blokken, og Catch plasseres på slutten av prøveblokken, noe som hjelper til med å løse unntaket.
prøve{// Kode} fangst (unntak e) {// Kode for unntak for håndtering}
- Flere fangstblokker : Det finnes forskjellige typer unntak, og du kan forvente mer enn ett unntak fra en enkelt kodeblokk. Flere fangster hjelper deg med å håndtere alle typer unntak separat med en egen kodeblokk. Den kan brukes i mer enn to fangstblokker, og det er ingen begrensning på antall fangstblokker.
prøve{//Kode} fangst (ExceptionType1 e1) {// Kode for håndtering av unntak 1} fangst (ExceptionType2 e2) {// Kode for håndtering av unntak 2}
- Kast : Når du vil generere et unntak, brukes nøkkelordet for å kaste unntak for å håndtere det i løpetid. Når du kaster et unntak uten å håndtere det, må de bruke kaste nøkkelordet.
offentlig statisk ugyldighet anyFunction () kaster unntak {prøv {// skriv koden din her} Fangst (unntak b) {// Gjør hva du vil utføre// Kast unntaket tilbake til systemetkaste (b);}}
- Flere unntak : Du kan nevne forskjellige unntak i kaste-setningen.
offentlig statisk ugyldighet anyFunction () kaster ExceptionType1, ExceptionType2 {prøv {// skriv koden din her} fangst (ExceptionType1 e1) {// Kode for å håndtere unntak 1} fangst (ExceptionType1 e2) {// Kode for å håndtere unntak 2}
- Til slutt : Det endelige nøkkelordet brukes til å lage en blokk med kode under prøveblokken. Det er den endelige koden som hjelper deg å utføre uavhengig av forekomst av et unntak
prøv {//Kode} fangst (ExceptionType1 e1) {// Fangstblokk} fangst (ExceptionType2 e2) {// Fangstblokk} fangst (ExceptionType3 e3) {// Fangstblokk} endelig {// Den endelige blokken kjøres alltid.}
Metoder for visning av unntak
Du kan også bruke følgende metoder for å vise unntaksinformasjon:
- printStackTrace () : Denne funksjonen skriver ut stabelspor, navnet på unntaket og annen nyttig beskrivelse.
- toString () : Denne funksjonen returnerer en tekstmelding som beskriver unntaksnavnet og beskrivelsen.
- getMessage () : Hjelper med å vise beskrivelsen av unntaket .
Sammendrag:
- Et unntak er en feil som oppstår på tidspunktet for utførelsen av et program.
- Try-catch: Denne metoden kan fange Unntak, som bruker en kombinasjon av søkeordene for prøve og fangst.
- Flere fangster hjelper deg med å håndtere alle typer unntak separat med en egen kodeblokk.
- Kast-nøkkelord brukes til å kaste Unntak for å håndtere det i løpetid.
- printStackTrace (): Denne funksjonen skriver ut stabelspor, navnet på unntaket og annen nyttig beskrivelse
- toString (): Denne funksjonen returnerer en tekstmelding som beskriver unntaksnavnet og beskrivelsen.
- getMessage (): Hjelper med å vise beskrivelsen av unntaket.