Vad är ett undantag?
Ett undantag är ett fel som inträffar när ett program körs. Men när du kör ett program genererar programmeringsspråk ett undantag som bör hanteras för att undvika att ditt program kraschar.
Undantaget indikerar att även om händelsen kan inträffa så sker denna typ av händelser sällan. När metoden inte kan hantera undantaget kastas det till sin samtalsfunktion. Så småningom, när ett undantag kastas ut ur huvudfunktionen, avslutas programmet plötsligt.
I den här handledningen lär du dig:
- Vad är ett undantag?
- Undantag i Selenium-drivrutinen
- Hantering av selenundantag
- Metoder för att visa undantag
Vanliga undantag i Selenium-webbdrivrutinen
Undantagsnamn | Beskrivning |
ElementNotVisibleException | Denna typ av Selen-undantag inträffar när ett befintligt element i DOM har en funktionsuppsättning som dold. |
ElementNotSelectableException | Detta Selen-undantag inträffar när ett element presenteras i DOM, men du kan välja. Därför är det inte möjligt att interagera. |
NoSuchElementException | Detta undantag inträffar om ett element inte kunde hittas. |
NoSuchFrameException | Detta undantag inträffar om det rammål som ska bytas till inte existerar. |
NoAlertPresentException | Detta undantag inträffar när du byter till ingen presenterad varning. |
NoSuchWindowException | Detta undantag inträffar om fönstermålet som ska bytas inte finns. |
StaleElementReferenceException | Detta Selen-undantag inträffar händer när webbelementet är frånkopplat från den aktuella DOM. |
SessionNotFoundException | WebDriver agerar efter att du avslutat webbläsaren. |
TimeoutException | Kastas när det inte finns tillräckligt med tid för att ett kommando ska slutföras. Till exempel hittades det sökta elementet inte under den angivna tiden. |
WebDriverException | Detta undantag äger rum när WebDriver agerar direkt efter att du har stängt webbläsaren. |
ConnectionClosedException | Denna typ av undantag äger rum när det finns en koppling från föraren. |
ElementClickInterceptedException | Kommandot kan inte slutföras eftersom elementet som tar emot händelserna döljer det element som begärts klickat på. |
ElementNotInteractableException | Detta Selen-undantag kastas när något element presenteras i DOM. Det är dock omöjligt att interagera med ett sådant element. |
ErrorInResponseException | Detta händer när du interagerar med Firefox-tillägget eller fjärrdrivrutinservern. |
ErrorHandler.UnknownServerException | Undantag används som platshållare om servern returnerar ett fel utan stackspårning. |
ImeActivationFailedException | Denna förväntning kommer att inträffa när IME-motoraktivering misslyckades. |
ImeNotAvailableException | Det sker när IME-support inte är tillgängligt. |
InsecureCertificateException | Navigering fick användaragenten att slå en certifikatvarning. Detta kan orsakas av ett ogiltigt eller upphört TLS-certifikat. |
InvalidArgumentException | Det inträffar när ett argument inte tillhör den förväntade typen. |
InvalidCookieDomainException | Detta händer när du försöker lägga till en cookie under en annan domän istället för aktuell URL. |
InvalidCoordinatesException | Denna typ av undantag matchar en interagerande operation som inte är giltig. |
InvalidElementStateExceptio | Det inträffar när kommandot inte kan avslutas när elementet är ogiltigt. |
InvalidSessionIdException | Detta undantag ägde rum när det angivna session-ID inte ingår i listan över aktiva sessioner. Det betyder att sessionen inte finns eller är inaktiv heller. |
InvalidSwitchToTargetException | Detta inträffar när ram- eller fönstermålet som ska bytas inte finns. |
JavascriptException | Det här problemet uppstår när JavaScript körs av användaren. |
JsonException | Det inträffar när du har råd att få sessionen när sessionen inte skapas. |
NoSuchAttributeException | Denna typ av undantag inträffar när attributet för ett element inte kunde hittas. |
MoveTargetOutOfBoundsException | Det äger rum om målet som ges till metoden ActionChains move () inte är giltigt. Till exempel ur dokumentet. |
NoSuchContextException | ContextAware testar mobila enheter. |
NoSuchCookieException | Detta undantag inträffar när ingen cookie som matchar det angivna sökvägen hittades för alla tillhörande kakor i det aktuella dokumentet. |
NotFoundException | Detta undantag är en underklass av WebDriverException. Detta inträffar när ett element på DOM inte finns. |
RemoteDriverServerException | Detta Selenium-undantag kastas när servern inte svarar på grund av problemet att de beskrivna funktionerna inte är korrekta. |
ScreenshotException | Det är inte möjligt att fånga en skärm. |
SessionNotCreatedException | Det händer när en ny session inte kunde skapas. |
UnableToSetCookieException | Detta inträffar om en förare inte kan ställa in en cookie. |
UnexpectedTagNameException | Händer om en supportklass inte fick ett webbelement som förväntat. |
UnhandledAlertException | Denna förväntning inträffar när det finns en varning, men WebDriver kan inte utföra larmåtgärd. |
UnexpectedAlertPresentException | Det inträffar när det förekommer en oväntad varning. |
UnknownMethodException | Detta undantag händer när det begärda kommandot matchar en känd URL men inte matchar en metod för en specifik URL. |
UnreachableBrowserException | Detta undantag inträffar endast när webbläsaren inte kan öppnas eller kraschas av någon anledning. |
Ej stöddCommandException | Detta inträffar när fjärransluten WebDriver inte skickar giltiga kommandon som förväntat. |
Hantering av selenundantag
Här är några viktiga standard som du kan hantera undantag i Selenium WebDriver:
Try-catch : Den här metoden kan fånga Undantag, som använder en kombination av försök och fånga nyckelord. Försök-kommandot indikerar början av blocket och Catch placeras i slutet av försöksblocket, vilket hjälper till att lösa undantaget.
Prova{// Kod} fånga (Undantag e) {// Kod för undantag för hantering}
- Flera fångstblock : Det finns olika typer av undantag, och du kan förvänta dig mer än ett undantag från ett enda kodblock. Flera fångster hjälper dig att hantera alla typer av undantag separat med ett separat kodblock. Den kan användas i mer än två fångstycken, och det finns ingen begränsning för antalet fångstycken.
Prova{//Koda} fånga (ExceptionType1 e1) {// Kod för hantering av undantag 1} fånga (ExceptionType2 e2) {// Kod för undantagshantering 2}
- Kasta : När du vill skapa ett undantag används nyckelordet för att kasta undantag för att hantera det under körtiden. När du kastar ett undantag utan att hantera det måste de använda nyckelordet.
offentlig statisk ogiltig anyFunction () kastar undantag {Prova {// skriv din kod här} Fångst (undantag b) {// Gör vad du vill utföra// Kasta undantaget tillbaka till systemetkasta (b);}}
- Flera undantag : Du kan nämna olika undantag i kastparagrafen.
offentlig statisk ogiltig anyFunction () kastar ExceptionType1, ExceptionType2 {Prova {// skriv din kod här} fånga (ExceptionType1 e1) {// Kod för att hantera undantag 1} fånga (ExceptionType1 e2) {// Kod för att hantera undantag 2}
- Slutligen : Det sista nyckelordet används för att skapa ett kodblock under försöksblocket. Det är den slutliga koden som hjälper dig att köra oavsett förekomsten av ett undantag
Prova {//Koda} fånga (ExceptionType1 e1) {// Fångstblock} fånga (ExceptionType2 e2) {// Fångstblock} fånga (ExceptionType3 e3) {// Fångstblock} till sist {// Det slutliga blocket körs alltid.}
Metoder för att visa undantag
Du kan också använda följande metoder för att visa undantagsinformation:
- printStackTrace () : Denna funktion skriver ut stackspårning, namnet på undantaget och annan användbar beskrivning.
- toString () : Den här funktionen returnerar ett textmeddelande som beskriver undantagsnamnet och beskrivningen.
- getMessage () : Hjälper till att visa beskrivningen av undantaget.
Sammanfattning:
- Ett undantag är ett fel som inträffar när ett program körs.
- Try-catch: Den här metoden kan fånga Undantag, som använder en kombination av försök och fånga nyckelord.
- Flera fångster hjälper dig att hantera alla typer av undantag separat med ett separat kodblock.
- Kasta nyckelord används för att kasta Undantag för att hantera det under körtiden.
- printStackTrace (): Denna funktion skriver ut stackspårning, namnet på undantaget och annan användbar beskrivning
- toString (): Den här funktionen returnerar ett textmeddelande som beskriver undantagsnamnet och beskrivningen.
- getMessage (): Hjälper till att visa beskrivningen av undantaget.