Behandeling van uitzonderingen op selenium (lijst met algemene uitzonderingen)

Inhoudsopgave:

Anonim

Wat zijn uitzonderingen?

Een uitzondering is een fout die optreedt tijdens het uitvoeren van een programma. Tijdens het uitvoeren van een programma genereren programmeertalen echter een uitzondering die moet worden afgehandeld om te voorkomen dat uw programma crasht.

De uitzondering geeft aan dat, hoewel de gebeurtenis kan optreden, dit type gebeurtenis niet vaak voorkomt. Wanneer de methode de uitzondering niet kan verwerken, wordt deze naar de bellerfunctie geworpen. Uiteindelijk, wanneer een uitzondering uit de hoofdfunctie wordt gegooid, wordt het programma abrupt beëindigd.

In deze tutorial leer je:

  • Wat zijn uitzonderingen?
  • Uitzonderingen in Selenium Web-stuurprogramma
  • Omgaan met seleniumuitzonderingen
  • Methoden voor het weergeven van uitzondering

Veelvoorkomende uitzonderingen in Selenium Web-stuurprogramma

Uitzonderingsnaam Omschrijving
ElementNotVisibleException Dit type Selenium-uitzondering treedt op wanneer een bestaand element in DOM een functie heeft ingesteld als verborgen.
ElementNotSelectableException Deze Selenium-uitzondering doet zich voor wanneer een element wordt gepresenteerd in de DOM, maar u kunt wel selecteren. Daarom is interactie niet mogelijk.
NoSuchElementException Deze uitzondering treedt op als een element niet kan worden gevonden.
NoSuchFrameException Deze uitzondering treedt op als het framedoel waarnaar moet worden overgeschakeld, niet bestaat.
NoAlertPresentException Deze uitzondering treedt op wanneer u overschakelt naar geen gepresenteerde waarschuwing.
NoSuchWindowException Deze uitzondering treedt op als het vensterdoel dat moet worden omgeschakeld, niet bestaat.
StaleElementReferenceException Deze Selenium-uitzondering treedt op wanneer het webelement wordt losgekoppeld van de huidige DOM.
SessionNotFoundException De WebDriver handelt nadat u de browser heeft afgesloten.
TimeoutException Gegooid als er niet genoeg tijd is om een ​​opdracht uit te voeren. Het gezochte element is bijvoorbeeld niet gevonden in de opgegeven tijd.
WebDriverException Deze uitzondering vindt plaats wanneer de webstuurprogramma actie onderneemt direct nadat u de browser hebt gesloten.
ConnectionClosedException Dit type uitzondering vindt plaats wanneer de verbinding in de driver wordt verbroken.
ElementClickInterceptedException De opdracht wordt mogelijk niet voltooid omdat het element dat de gebeurtenissen ontvangt het element verbergt waarop werd geklikt.
ElementNotInteractableException Deze Selenium-uitzondering wordt gegenereerd wanneer een element in de DOM wordt gepresenteerd. Het is echter onmogelijk om met een dergelijk element om te gaan.
ErrorInResponseException Dit gebeurt tijdens interactie met de Firefox-extensie of de externe stuurprogrammaserver.
ErrorHandler.UnknownServerException Uitzondering wordt gebruikt als tijdelijke aanduiding voor het geval dat de server een fout retourneert zonder een stacktracering.
ImeActivationFailedException Deze verwachting doet zich voor wanneer de activering van de IME-engine is mislukt.
ImeNotAvailableException Het vindt plaats wanneer IME-ondersteuning niet beschikbaar is.
InsecureCertificateException Navigatie zorgde ervoor dat de user-agent een certificaatwaarschuwing trof. Dit kan worden veroorzaakt door een ongeldig of verlopen TLS-certificaat.
InvalidArgumentException Het treedt op als een argument niet tot het verwachte type behoort.
InvalidCookieDomainException Dit gebeurt wanneer u een cookie probeert toe te voegen onder een ander domein in plaats van de huidige URL.
InvalidCoordinatesException Dit type uitzondering komt overeen met een interactieve bewerking die niet geldig is.
InvalidElementStateExceptio Het treedt op als het commando niet kan worden voltooid als het element ongeldig is.
InvalidSessionIdException Deze uitzondering vond plaats wanneer de opgegeven sessie-ID niet is opgenomen in de lijst met actieve sessies. Het betekent dat de sessie niet bestaat of ook niet actief is.
InvalidSwitchToTargetException Dit gebeurt wanneer het frame of vensterdoel dat moet worden omgeschakeld niet bestaat.
JavascriptException Dit probleem treedt op tijdens het uitvoeren van JavaScript dat door de gebruiker is opgegeven.
JsonException Het treedt op wanneer u het zich veroorloven om de sessie te krijgen terwijl de sessie niet is gemaakt.
NoSuchAttributeException Dit soort uitzondering treedt op als het attribuut van een element niet kan worden gevonden.
MoveTargetOutOfBoundsException Het vindt plaats als het doel dat is opgegeven voor de ActionChains-methode move () niet geldig is. Bijvoorbeeld uit het document.
NoSuchContextException ContextAware voert tests uit op mobiele apparaten.
NoSuchCookieException Deze uitzondering treedt op als er geen cookie wordt gevonden die overeenkomt met de opgegeven padnaam voor alle bijbehorende cookies van het huidige browserdocument.
NotFoundException Deze uitzondering is een subklasse van WebDriverException. Dit gebeurt wanneer een element op de DOM niet bestaat.
RemoteDriverServerException Deze Selenium-uitzondering wordt gegenereerd wanneer de server niet reageert vanwege het probleem dat de beschreven mogelijkheden niet correct zijn.
ScreenshotException Het is niet mogelijk om een ​​schermopname te maken.
SessionNotCreatedException Het gebeurt wanneer een nieuwe sessie niet succesvol kan worden gemaakt.
UnableToSetCookieException Dit gebeurt als een bestuurder geen cookie kan plaatsen.
UnexpectedTagNameException Gebeurt als een ondersteuningsklasse geen webelement heeft gekregen zoals verwacht.
UnhandledAlertException Deze verwachting doet zich voor wanneer er een waarschuwing is, maar WebDriver kan geen waarschuwing uitvoeren.
UnexpectedAlertPresentException Het treedt op als er een onverwachte waarschuwing verschijnt.
UnknownMethodException Deze uitzondering treedt op wanneer de gevraagde opdracht overeenkomt met een bekende URL, maar niet overeenkomt met een methodologie voor een specifieke URL.
UnreachableBrowserException Deze uitzondering treedt alleen op als de browser om een ​​of andere reden niet kan worden geopend of gecrasht.
UnsupportedCommandException Dit gebeurt wanneer de externe WebDriver geen geldige opdrachten verzendt zoals verwacht.

Omgaan met seleniumuitzonderingen

Hier zijn enkele belangrijke standaards waarmee u uitzonderingen in Selenium WebDriver kunt afhandelen:

Try-catch : deze methode kan uitzonderingen opvangen, waarbij een combinatie van de try-and-catch-trefwoorden wordt gebruikt. Het Try-commando geeft het begin van het blok aan en Catch wordt aan het einde van het try-blok geplaatst, wat helpt om de uitzondering op te lossen.

proberen​// Code} catch (uitzondering e) {// Code voor het afhandelen van uitzonderingen​
  • Meerdere catch-blokken : er zijn verschillende soorten uitzonderingen en u kunt meer dan één uitzondering verwachten van een enkel codeblok. Meerdere catches helpen je om elk type uitzondering afzonderlijk af te handelen met een apart codeblok. Het kan worden gebruikt voor meer dan twee catch-blokken en er is geen beperking op het aantal catch-blokken.
proberen​//Code} catch (ExceptionType1 e1) {// Code voor het afhandelen van uitzondering 1} catch (ExceptionType2 e2) {// Code voor het afhandelen van uitzondering 2​
  • Throw : Als u een Exception wilt genereren, wordt het Throw-sleutelwoord gebruikt om Exception te genereren om deze tijdens de uitvoeringstijd af te handelen. Wanneer u een uitzondering gooit zonder deze te behandelen, dan moeten ze het Throw-trefwoord gebruiken.
public static void anyFunction () gooit Uitzondering {proberen {// schrijf hier uw code} Vangst (uitzondering b) {// Doe wat je wilt doen// Gooi de uitzondering terug naar het systeemgooien (b);​​
  • Meerdere uitzonderingen : u kunt verschillende uitzonderingen vermelden in de worp-clausule.
public static void anyFunction () gooit ExceptionType1, ExceptionType2 {proberen {// schrijf hier uw code} catch (ExceptionType1 e1) {// Code om uitzondering 1 af te handelen} catch (ExceptionType1 e2) {// Code om uitzondering 2 af te handelen​
  • Ten slotte : het sleutelwoord Final wordt gebruikt om een ​​codeblok te maken onder het try-blok. Het is de laatste code die u helpt bij het uitvoeren, ongeacht het optreden van een uitzondering
proberen {//Code} catch (ExceptionType1 e1) {// Vangblok} catch (ExceptionType2 e2) {// Vangblok} catch (ExceptionType3 e3) {// Vangblok} Tenslotte {// Het laatste blok wordt altijd uitgevoerd.​

Methoden voor het weergeven van uitzondering

U kunt ook de volgende methoden gebruiken om informatie over uitzonderingen weer te geven:

  • printStackTrace () : Deze functie drukt de stacktracering, de naam van de uitzondering en andere nuttige beschrijvingen af.
  • toString () : Deze functie retourneert een tekstbericht met een beschrijving van de naam en beschrijving van de uitzondering.
  • getMessage () : Helpt bij het weergeven van de beschrijving van de uitzondering.

Overzicht:

  • Een uitzondering is een fout die optreedt tijdens het uitvoeren van een programma.
  • Try-catch: deze methode kan uitzonderingen opvangen, waarbij een combinatie van de try-and-catch-trefwoorden wordt gebruikt.
  • Meerdere catches helpen u om elk type uitzondering afzonderlijk af te handelen met een apart codeblok.
  • Throw-sleutelwoord wordt gebruikt om Uitzondering te werpen om het tijdens de runtime af te handelen.
  • printStackTrace (): Deze functie drukt de stacktracering, de naam van de uitzondering en andere nuttige beschrijvingen af
  • toString (): Deze functie retourneert een tekstbericht met een beschrijving van de naam en beschrijving van de uitzondering.
  • getMessage (): Helpt bij het weergeven van de beschrijving van de uitzondering.