Mester Selenium: 29 Vanlige Intervjuspørsmål & Svar

Før en programvareapplikasjon lanseres for sluttbrukere, gjennomgår den flere utviklingsstadier.

Testing er en essensiell del av SDLC (Software Development Life Cycle), ettersom den avdekker feil og verifiserer om applikasjonen fungerer som den skal.

I begynnelsen var manuelle testmetoder normen for programvaretestere. Imidlertid er manuell testing tidkrevende og kan føre til ulike utfordringer. Selenium ble utviklet for å automatisere programvaretesting.

Selenium har nå inntatt en ledende posisjon i markedet, og majoriteten av programvaretestere benytter det. Hvis du ønsker å sikre deg en stilling som programvaretester, vil det å være forberedt på vanlige spørsmål om Selenium under jobbintervjuer gi deg et fortrinn i forhold til andre kandidater.

Her følger et utvalg av spørsmål og svar om Selenium som du sannsynligvis vil møte:

Hva er automatisert testing?

Enkelt forklart, er automatisert testing prosessen der man automatiserer utarbeidelsen og utførelsen av programvaretester ved hjelp av en automatisk testsuite eller uten manuell inngripen. Automatisert testing gjør det mulig for testere å bruke et dedikert verktøy for å utføre testoppgaver repeterende.

Hvilke fordeler gir automatisert testing?

  • Det sparer tid og ressurser. Programvaretesting kan være kostbart dersom du må lønne manuelle testere. Automatisert testing kan være mer økonomisk på lang sikt.
  • Det fremmer gjenbruk av kode. Testene kan settes opp en gang, og deretter utføres gjentatte ganger.
  • Det reduserer risikoen for menneskelige feil og øker nøyaktigheten.
  • Det er ideelt for store applikasjoner. Manuell testing kan være tilstrekkelig for mindre applikasjoner. Men når applikasjonen vokser, vil en automatisert testsuite være svært fordelaktig.

Hva er Selenium?

Selenium er en gratis og åpen kildekode testpakke for web-UI-automatisering. Den ble utviklet av Jason Huggins i 2004. Det sterke fellesskapet har bidratt til at Selenium er en av de mest brukte automatiserte testsuitene. Selenium-pakken er kompatibel med diverse nettlesere og plattformer.

Hvilke forskjellige typer Selenium finnes?

Selenium er ikke bare ett testverktøy, men en samling av flere verktøy. Her er de forskjellige typene Selenium:

  • Selenium Integrated Development Environment (IDE)
  • Selenium WebDriver
  • Selenium Remote Control (RC)
  • Selenium Grid

Hvilke programmeringsspråk støtter Selenium?

  • Python
  • Java
  • C-Sharp
  • JavaScript
  • Ruby
  • PHP
  • Perl

Hvilke testtyper støttes av Selenium?

Hva er Selenium WebDriver?

Selenium WebDriver har som oppgave å kommunisere med nettlesere. Dette verktøyet er også avhengig av sin egen kompatibilitet for å automatisere ulike oppgaver.

Hva er Selenium IDE?

Selenium IDE er en Firefox-utvidelse som fungerer som et opptaks- og avspillingsverktøy. Utvidelsen ble laget for å akselerere opprettelsen av automatiserte skript.

Hva er et Selenium Grid?

Dette verktøyet gjør det mulig for brukere å distribuere testkjøring til flere miljøer og plattformer samtidig.

Hva er Selenium RC (Remote Control)?

RC er et verktøy som lar brukere lage testskript i det programmeringsspråket de ønsker. Dette verktøyet tillater også brukere å utføre testskript i en rekke nettlesere.

Hva menes med Selenese?

Selenium IDE benytter et språk kalt Selenese, som brukes til å skrive Selenium-kommandoer. Disse kommandoene hjelper Selenium med å forstå hvilke handlinger som skal utføres.

Hvilke typer Selenese finnes?

  • Handlinger: Dette er kommandoer som manipulerer applikasjonens tilstand. Eksempler er «skriv i denne boksen» og «klikk på denne lenken».
  • Tilbehør: Disse kommandoene undersøker applikasjonens tilstand og lagrer resultater i variabler.
  • Påstander: Dette er kommandoer som gjør det mulig for testeren å verifisere applikasjonens tilstand.

Hvordan kan man finne et element i Selenium?

  • ID
  • Klassenavn
  • Navn
  • TagName
  • Linktekst
  • PartialLinkText
  • XPath
  • CSS-velger
  • DOM

Hva er en XPath?

En XPath finner et webelement basert på dens Extensible Markup Language-sti. Et XML-lager organiserer og transporterer vilkårlige data.

«/» og «//» i XPath. Hva er forskjellen?

«/», eller enkel skråstrek, skaper en XPath med en absolutt sti. Det vil si at XPath begynner valget fra startnoden/dokumentnoden.

«//», eller dobbel skråstrek, brukes til å lage en XPath med en relativ sti. Det betyr at den opprettede XPath-seleksjonen starter fra et hvilket som helst sted i dokumentet.

Hva er en absolutt XPath?

En absolutt XPath starter med en enkelt skråstrek, «/». En slik sti inneholder den fullstendige veien fra roten til elementet du ønsker å identifisere.

Hva er forskjellen mellom findElement() og findElements()?

  • findElements(): Bruker den angitte lokaliseringsmetoden for å finne alle elementene på den gjeldende siden, og returnerer en liste over alle webelementene.
  • findElement(): Finner det første elementet på gjeldende side ved å bruke den angitte lokaliseringsmetoden, og returnerer kun et enkelt webelement.

Hvilke typer annotasjoner brukes i Selenium?

  • FørSuite
  • FørTest
  • Før klasse
  • FørMetode
  • Testforsøk
  • EtterMetode
  • Etter timen
  • EtterTest
  • EtterSuite

Hva er påstander i Selenium?

Påstander verifiserer om applikasjonen fungerer som den skal. Hvis påstandene mislykkes, feiler testsaken, og utførelsen stopper.

Hva er kommandoene Assert og Verify?

  • Assert: Hvis betingelsene i påstanden er sanne, vil programmet fortsette å utføre neste testtrinn. Hvis betingelsen derimot er falsk, stopper utførelsen, og ingen andre tester vil bli utført.
  • Verify: Testkjøringen vil fortsette uavhengig av om den bekreftede betingelsen er sann eller usann.

Hva er policyen for samme opprinnelse, og hvordan håndterer Selenium det?

Policyen for samme opprinnelse er en sikkerhetsmekanisme som begrenser hvordan et skript eller dokument som er lastet fra en bestemt opprinnelse samhandler med en ressurs fra en annen opprinnelse. Dette bidrar til å isolere ondsinnede skript.

Selenium bruker en proxy-injeksjonsmetode for å implementere policyen for samme opprinnelse. I dette oppsettet vil Selenium Server fungere som en klientkonfigurert HTTP-proxy mellom applikasjonen som testes og nettleseren. Denne proxy-injeksjonen vil maskere AUT gjennom en fiktiv URL.

Hva er pausefunksjonen i Selenium IDE?

Pause er en vente-kommando i Selenium IDE som forsinker utførelsen av automatiserte tester i et angitt tidsrom. Ventetiden angis i millisekunder, noe som betyr at du må skrive 3000 hvis du ønsker å vente i 3 sekunder.

Hvorfor mislykkes Selenium IDE-tester?

  • Asynkrone nettsider: Selenium-tester lages i en spesifikk rekkefølge. Noen nettsteder er imidlertid basert på en asynkron arkitektur, og noen ganger kommer svarene ikke i rekkefølge.
  • Tidsavbrudd: Selenium kan mislykkes mens man venter på at en komponent skal lastes inn. Slike feil kan håndteres ved å bruke «venter».
  • Feil: Selenium forbedres kontinuerlig. Men noen ganger kan du støte på feil som kan føre til at tester mislykkes.
  • Små endringer i kildekoden: Hvis en endring i en lokalisator oppdages, kan alle tester som er rettet mot denne lokalisatoren mislykkes.

Hva er TestNG, og hva er noen av funksjonene?

TestNG er et testautomatiseringsrammeverk inspirert av JUnit og NUnit. NG, Next Generation, er et gratis og åpen kildekode-verktøy.

Her er noen av funksjonene til TestNG:

  • Har ulike typer påstander.
  • Gjør det mulig for brukere å kjøre tester parallelt.
  • Du kan gjøre tester avhengig av hverandre ved hjelp av attributtene «dependsOnMethods» og «dependsOnGroups».
  • Gjennomfører datadrevne tester.
  • Du kan gruppere ulike tester.

Hva er forskjellen mellom implisitt vent og eksplisitt vent?

  • Implisitt vent ber webdriveren om å vente i en viss periode før den kaster et unntak. Standardverdien er 0, og når tiden er satt, vil WebDriver vente til den utløper med å gi et unntak.
  • Eksplisitt vent ber webdriveren om å vente på visse betingelser eller ExpectedConditions før den kaster et «ElementNotVisibleException»-unntak. Eksplisitt vent er en «intelligent» ventetid som bare gjelder for spesifiserte elementer.

Hva er et objektlager?

Et objektlager er en samling nøkkel-verdi-par i et automatisert GUI-testskript som forenkler vedlikeholdet av testskript. Nøkkelen er et logisk navn som identifiserer objektene, samt verdier som har unike egenskaper som identifiserer objektene på en skjerm.

Det er også et sentralt sted der alle data lagres og administreres.

Hvilke unntak kan man støte på i en Selenium-webdriver?

Et unntak er en uvanlig hendelse som kan oppstå under kjøring av et program eller programvare. Det kan også beskrives som en kjøretidsfeil forårsaket av en uventet hendelse eller resultat som forstyrrer den normale programflyten.

Her er de vanligste unntakene i Selenium Web Driver:

  • NoSuchWindowException: Webdriveren forsøker å bytte til et ugyldig (ikke tilgjengelig) vindu.
  • NoSuchElementException: Oppstår når et element ikke er tilgjengelig.
  • NoAlertPresentException: Dette unntaket oppstår når du prøver å bytte til et varsel som ikke er til stede.
  • TimeoutException: Den spesifikke kommandoen ble ikke fullført innen den angitte tiden.
  • ElementNotVisibleException:
  • ElementNotSelectableException: Et slikt unntak oppstår når et element er deaktivert (kan ikke velges eller klikkes) til tross for at det er tilgjengelig i DOM.
  • SessionNotFoundException: Webdriveren handler i dette tilfellet umiddelbart etter å ha lukket nettleseren.

Liste over forskjellige lokalisatorer

  • ID
  • Navn
  • Klassenavn
  • Tagnavn
  • Linktekst
  • PartialLinkText
  • CSS-velger
  • XPath

Hva er bruddpunkter og startpunkter?

  • Startpunkter angir hvor kjøringen av en kode skal starte. Startpunkter kan brukes for å kjøre et testskript fra midten av koden eller et bruddpunkt.
  • Bruddpunkter brukes for å stoppe utførelsen av kode. Et bruddpunkt brukes for å bekrefte at koden fungerer som den skal.

Avslutning

Ovenfor er et utvalg av spørsmål om Selenium som du sannsynligvis vil møte under et jobbintervju for en stilling innen testautomatisering. Sørg for at du har de nødvendige ferdighetene før du søker på en stilling som testautomatiseringsingeniør.

Likte du denne artikkelen? Del den gjerne med andre!