Hevd og bekreft i Selenium IDE

โšก Smart oppsummering

Selenium IDE med skript og kommandoer lar testere ta opp, redigere og spille av nettleserhandlinger ved hjelp av Selenese โ€“ IDE-ens lette kommandosprรฅk. Denne artikkelen dekker opptak av et skript, skriving av Selenese manuelt, valg mellom Assert og Verify, og feilsรธking med avbruddspunkter.

  • ๐ŸŽฌ Fรธrste innspilling: Selenium IDE registrerer klikk, inndata og pรฅstander automatisk mens du bruker nettleseren.
  • ๐Ÿงฉ Selenesisk sprรฅk: Hver kommando har et kommandonavn, et valgfritt mรฅl og en valgfri verdi โ€“ aldri mer enn to parametere.
  • ๐Ÿ›‘ Hevde vs. Bekrefte: Assert stopper testen ved feil; Verify logger feilen og fortsetter med neste trinn.
  • ๐Ÿ” Tre kommandotyper: Handlinger samhandler med siden, tilgangsenheter leser tilstand inn i variabler, pรฅstander sjekker betingelser.
  • ๐Ÿž Feilsรธkingshjelpemidler: Bruk Utfรธr kommando, Startpunkt, Brytningspunkter og Trinn for รฅ inspisere eller kjรธre รฉn kommando om gangen.
  • ๐Ÿค– AI Boost: AI-testverktรธy genererer automatisk selenisk, foreslรฅr robuste lokatorer og konverterer IDE-skript til Selenium WebDriver-kode.

Hvordan knekke (hacke) man et passord?

Vi vil bruke Mercury Tours-nettstedet som vรฅr webapplikasjon under testing. Det er et online flyreservasjonssystem som inneholder alle elementene vi trenger for denne veiledningen. Grunnlaget er URL is https://demo.guru99.com/test/newtours/.

La oss nรฅ lage vรฅrt fรธrste testskript i Selenium IDE ved hjelp av den vanligste metoden โ€“ ved opptak. Etterpรฅ skal vi kjรธre skriptet ved hjelp av avspillingsfunksjonen.

OBS: Denne veiledningen bruker den klassiske Firefox-kun Selenium IDE 1.x med Firebug for รฅ introdusere grunnleggende selenese-teknikker. Firebug ble pensjonert i Firefox 57, og den moderne Selenium IDE er nรฅ en Chrome / Firefox / Edge-nettleserutvidelse med et annet brukergrensesnitt. Selenese-konseptene, kommandotypene og feilsรธkingsfunksjonene nedenfor gjelder fortsatt direkte for den nye IDE-en.

Lag et skript ved รฅ ta opp

Trinn 1)

  • Start Firefox og Selenium SDI.
  • Skriv inn verdien for vรฅr base URL: https://demo.guru99.com/test/newtours/.
  • TogglSlรฅ pรฅ Opptak-knappen (hvis den ikke er slรฅtt pรฅ som standard).

Selenium IDE med base URL angi og opptaksknappen er slรฅtt pรฅ

Trinn 2) In Firefox, navigere til https://demo.guru99.com/test/newtours/. Firefox skal lande pรฅ en side som ligner pรฅ den nedenfor.

Mercury Turenes hjemmeside i Firefox

Trinn 3)

  • Hรธyreklikk pรฅ et hvilket som helst tomt omrรฅde pรฅ siden โ€“ for eksempel pรฅ Mercury Tours-logoen i รธvre venstre hjรธrne. Dette viser Selenium IDE-kontekstmeny. Ikke klikk pรฅ eventuelle hyperlenkede objekter eller bilder.
  • Velg Vis tilgjengelige kommandoer alternativet.
  • Velg assertTitle exact: Welcome: Mercury ToursDenne kommandoen kontrollerer at sidetittelen er riktig.

Selenium IDE-kontekstmeny med Vis tilgjengelige kommandoer

Selenium IDE-editor som viser assertTitle-kommandoen lagt til

Trinn 4)

  • pรฅ brukernavn tekstboks av Mercury Turer, skriv inn ugyldig brukernavn invalidUNN.
  • pรฅ Passord tekstboks, skriv inn det ugyldige passordet invalidPWD.

Ugyldig brukernavn skrevet inn Mercury Turskjema

Ugyldig passord skrevet inn Mercury Turskjema

Trinn 5) Klikk pรฅ Logg inn knapp. Firefox skal lande pรฅ siden som vises nedenfor.

Mercury Side for pรฅloggingsfeil i Tours

Trinn 6) TogglSlรฅ av Opptak-knappen for รฅ stoppe opptaket. Skriptet ditt skal nรฅ ligne pรฅ det nedenfor.

Selenium IDE-innspilt skript etter stoppping opptakeren

Trinn 7) Lagre nรฅ det innspilte testskriptet. I filet meny, velg Lagre testtilfelle, eller trykk Ctrl+S.

Lagre testtilfelle-alternativet i Selenium IDE-filmeny

Trinn 8)

  • Velg en mรฅlmappe, og gi den deretter navnet testforsรธk Ugyldig_pรฅlogging.
  • Klikk Spar.

Lagre dialogboksen som navngir Selenium IDE-testtilfelle Ugyldig_pรฅlogging

Trinn 9) Merk at filen er lagret som HTML.

Lagret testcase-fil med HTML-utvidelse

Trinn 10) Tilbake til Selenium IDE og klikk pรฅ Avspilling knappen for รฅ kjรธre hele skriptet. Selenium IDE spiller av hver handling trofast.

Selenium IDE-avspillingsknapp som kjรธrer det innspilte skriptet

Introduksjon til Selenium Kommandoer โ€“ Selenesisk

Selenesisk er skriftsprรฅket som driver Selenium IDE. Reglene er enkle:

  • Hver Selenese-kommando godtar opptil to parametere โ€“ en mรฅl og en verdi.
  • Parametere er ikke alltid nรธdvendige. Antallet avhenger av kommandoen.

Typer kommandoer

Selenese grupperer kommandoer i tre kategorier. Hver av dem har en annen rolle i skriptet.

handlinger Kommandoer som samhandler direkte med sideelementer. Eksempel: click samhandler med elementet du klikker pรฅ; type setter en verdi i en tekstboks, og tekstboksen gjengir den tilbake, noe som gir en toveis interaksjon.
Tilbehรธr Kommandoer som lagrer en verdi i en variabel. Eksempel: storeTitle leser bare sidetittelen og lagrer den โ€“ den endrer ingenting pรฅ siden.
Pรฅstander Kommandoer som bekrefter en betingelse. Selenese eksponerer tre pรฅstandsvarianter: hevde stopper testen ved feil, Bekreft logger feilen og fortsetter, og Vent pรฅ pauser til en betingelse blir sann (standard tidsavbrudd 30 sekunder, konfigurerbar under Alternativer > Generelt).

Pรฅstรฅ vs. Bekreft inn Selenium

Diagrammene nedenfor viser hvordan en Assert-kommando fungerer som en Verify-kommando under kjรธring nรฅr sjekken mislykkes midt i testen.

Stopp av kommandooppfรธrselping testen pรฅ feiling

Verifiser kommandoens oppfรธrsel ved รฅ fortsette testen etter en logget feil

Vanlige kommandoer

Kommando Antall parametere Tekniske beskrivelser
รฅpen 0-2 ร…pner en side ved hjelp av en URL.
klikk / klikk og vent 1 Klikker pรฅ et spesifisert element.
type / typeTaster 2 Skriver inn en sekvens med tegn.
verifisereTittel / hevdeTittel 1 Sammenligner den faktiske sidetittelen med en forventet verdi.
verifyTextPresent 1 Sjekker om en gitt tekst finnes pรฅ siden.
verifyElementPresent 1 Kontrollerer tilstedevรฆrelsen av et bestemt element.
verifisertabell 2 Sammenligner innholdet i en tabell med forventede verdier.
waitForPageToLoad 1 Setter utfรธrelse pรฅ pause til siden er ferdig lastet.
waitForElementPresent 1 Setter utfรธrelse pรฅ pause til det angitte elementet vises.

Lag et skript manuelt med Firebug

La oss nรฅ gjenskape den samme testtilfellet manuelt av typing kommandoene. Denne gjennomgangen bruker Firebug til รฅ inspisere elementlokaliseringsverktรธy. (I den moderne Selenium IDE, bruk nettleserens innebygde DevTools i stedet for Firebug.)

Trinn 1) Open Firefox og Selenium IDE. Skriv inn basen URL https://demo.guru99.com/test/newtours/Opptaksknappen mรฅ vรฆre AV.

Selenium IDE-opptaksbryter i AV-tilstand

Trinn 2) Klikk pรฅ den รธverste tomme linjen i redigeringsprogrammet.

ร… velge den fรธrste blanke raden i Selenium IDE-redaktรธr

typen open i tekstboksen Kommando og trykk Enter.

ร…pne-kommandoen som er angitt i Selenium IDE-kommandofelt

Trinn 3) Naviger Firefox til basen URL og aktiver Firebug. I IDE-editoren velger du linjen under open kommando og type assertTitleBruk forslagene for autofullfรธring for nรธyaktighet.

Autofullfรธrforslag for assertTitle i Selenium IDE

Trinn 4) I Firebug, utvid <head> taggen for รฅ avslรธre <title>Klikk pรฅ tittelverdien (Velkommen: Mercury Turer) og lime den inn i Target feltet i editoren.

Kopiere sidetittelen fra Firebug til IDE-mรฅlfeltet

Trinn 5) Klikk pรฅ den tredje tomme linjen i redigeringsprogrammet og skriv inn type i kommandofeltet. I Firebug klikker du pรฅ Undersรธke knapp.

Typekommandoen som legges til i Selenium IDE-redaktรธr

Klikk pรฅ tekstboksen Brukernavn. Firebug viser automatisk det samsvarende HTML-elementet.

Firebug inspiserer brukernavnfeltet pรฅ Mercury Turer

Trinn 6) Tekstboksen Brukernavn har ingen ID, men den har et NAME-attributt. Kopier NAME-verdien og lim den inn i Target innen Selenium SDI.

Kopiering av brukernavnfeltet NAME-attributtet

Fortsatt i Target felt, prefiks userName med name= so Selenium IDE retter seg mot elementet hvis NAME-attributt er userName.

Selenium IDE-mรฅlfelt med navn=brukernavn-lokaliseringsverktรธy

typen invalidUN i Verdi-feltet. Skriptet ditt har nรฅ sin tredje kommando. Selenium IDE skiller mellom store og smรฅ bokstaver, sรฅ skriv inn verdier og attributtnavn nรธyaktig slik de vises i applikasjonen.

Skriv inn kommandoen som er rettet mot navn=brukernavn med verdien ugyldigUN

Trinn 7) Legg til en fjerde kommando med typing type i kommandofeltet. Bruk Firebugs Undersรธke -knappen i tekstboksen Passord.

Firebug inspiserer passordfeltet

Lim inn NAME-attributtet (password) inn i det Target felt, prefiks med name=, og sett verdien til invalidPW.

Selenium IDE-skript etter รฅ ha lagt til password type-kommandoen

Trinn 8) Legg til den femte kommandoen med typing clickAndWait i kommandofeltet. Bruk Firebugs Undersรธke pรฅ Logg inn-knappen.

Firebug inspiserer pรฅloggingsknappen

Lim inn NAME-verdien (login) inn i det Target feltet med name= prefiks.

Endelig manual Selenium IDE-skript med fem kommandoer

Trinn 9) Lagre testtilfellet som fรธr.

Bruke Finn-knappen

Ocuco Finn knappen i Selenium IDE bekrefter at verdien som er angitt i Target feltet faktisk samsvarer med et brukergrensesnittelement pรฅ siden.

ร…pne Ugyldig_pรฅlogging testtilfellet fra forrige avsnitt og klikk pรฅ en hvilken som helst kommando med en Target oppfรธring โ€“ for eksempel den tredje kommandoen.

Finn-knappen ved siden av Target felt i Selenium IDE

Klikk FinnTekstboksen Brukernavn pรฅ Mercury Tursiden blir kort uthevet.

Brukernavn-feltet uthevet i Firefox etter รฅ ha klikket pรฅ Finn

Hรธydepunktet bekrefter det Selenium IDE lรธste locatoren riktig. Hvis feil element (eller ingen elementer) er uthevet, mรฅ locatoren i skriptet korrigeres.

Utfรธr kommando

Execute Command kjรธrer รฉn linje av skriptet uten รฅ kjรธre hele testtilfellet. Klikk pรฅ linjen du vil kjรธre, og velg enten Handlinger > Utfรธr denne kommandoen fra menyen eller trykk pรฅ X pรฅ tastaturet.

Trinn 1) Sรธrg for at nettleseren er pรฅ Mercury Turenes hjemmeside. Klikk pรฅ linjen du รธnsker รฅ kjรธre โ€“ for eksempel type | userName | invalidUN.

Skriv kommandoen som er valgt for utfรธrelse i Selenium IDE

Trinn 2) Press X pรฅ tastaturet.

Trinn 3) Brukernavnstekstboksen pรฅ siden er fylt ut med invalidUN.

Brukernavnfelt utfylt etter Utfรธr kommando

Utfรธring av kommandoer pรฅ denne mรฅten avhenger av siden som Firefox vises for รธyeblikket. Kjรธrer den samme kommandoen pรฅ Googlehjemmesiden til ville mislykkes fordi det ikke finnes noe felt med navnet userName der.

Startpunkt

Et startpunkt forteller Selenium IDE hvilken linje kjรธringen skal starte fra. Snarveistasten er S.

Startpunkt satt pรฅ en Selenium IDE-skriptlinje

I eksemplet ovenfor starter avspillingen pรฅ den tredje linjen (type | password | invalidPW). Et testskript kan bare ha ett startpunkt. I likhet med Utfรธr kommando avhenger startpunktet av siden som vises for รธyeblikket, og feiler hvis siden er feil.

Brytningspunkter

Brytpunkter forteller Selenium IDE for รฅ sette testen pรฅ pause automatisk pรฅ en gitt linje. Snarveistasten er B.

Brytpunktindikator pรฅ en Selenium IDE-skriptlinje

Den gule markeringen viser det midlertidig stoppede trinnet. Et testtilfelle kan ha flere avbruddspunkter.

Trinn

Ocuco Trinn Kommandoen kjรธrer neste linje etter en midlertidig stoppet test. Bruk den sammen med avbruddspunkter for รฅ gรฅ gjennom et skript รฉn kommando om gangen.

Testen ble satt pรฅ pause ved clickAndWait fรธr du klikket pรฅ Step

Fรธr du klikker pรฅ Trinn. Testtilfellet er satt pรฅ pause pรฅ linjen clickAndWait | login.

Test videre til neste kommando etter รฅ ha klikket pรฅ Trinn

Etter รฅ ha klikket pรฅ Trinn. Ocuco clickAndWait | login kommandoen kjรธrer og utfรธrelsen pauser ved neste kommando (verifyTitle | Sign-on: Mercury Tours). Den neste linjen pauser selv uten et avbruddspunkt โ€“ det er hensikten med Step.

Viktige ting รฅ merke seg nรฅr du bruker andre formater i kildevisning

Forsiktig advarsel om visningsformater som ikke er HTML-kildekode

Selenium IDE 1.x fungerer bare pรฅlitelig med HTML-formatet โ€“ andre formater er fortsatt eksperimentelle. Det anbefales ikke รฅ opprette eller redigere tester i en ikke-HTML-kildevisning. De kjente problemene fra versjon 1.9.1 er:

  • Du kan ikke bruke avspilling eller bytte tilbake til tabellvisning uten รฅ gรฅ tilbake til HTML.
  • Den sikreste mรฅten รฅ legge til kommandoer i kildevisningen er รฅ spille dem inn.
  • Manuelle redigeringer i kildevisning gรฅr tapt nรฅr du bytter til et annet format.
  • Du kan lagre en testtilfelle i kildevisningen, men Selenium IDE klarer kanskje ikke รฅ รฅpne den pรฅ nytt.

Den anbefalte mรฅten รฅ konvertere selenesiske tester til andre sprรฅk pรฅ er Fil > Eksporter testtilfelle somโ€ฆ menyen, ikke kildevisningen.

Spรธrsmรฅl og svar

Arven Firefox-kun Selenium IDE 1.x vedlikeholdes ikke lenger. Den moderne Selenium IDE er en nettleserutvidelse for Chrome, Firefoxog Edge fra selenium.dev, som stรธtter opptak og avspilling samt eksport til WebDriver-kode.

Bruk Assert for harde forhรฅndsbetingelser der testen ikke kan fortsette (for eksempel mรฅ riktig side lastes inn fรธrst). Bruk Bekreft nรฅr senere kontroller fortsatt tilfรธrer verdi selv om den nรฅvรฆrende feiler, for eksempel verifisering av flere felt i et skjema.

Firebug ble pensjonert i Firefox 57. Bruk nettleserens innebygde DevTools (F12) eller utvidelser som SelectorsHub, ChroPath eller Playwright Inspector for รฅ fange XPath- og CSS-lokaliseringsverktรธy for Selenium skript.

Ja. AI testplattformer overvรฅker brukerรธkter, genererer selenese-kommandoer, foreslรฅr robuste lokaliseringsverktรธy og konverterer innspilte skript til Selenium WebDriver-kode i Java, Pythoneller JavaSkript med mye mindre manuell innsats.

Generativ AI undersรธker DOM-รธyeblikksbilder og foreslรฅr locatorer som er mindre sannsynlig รฅ bryte โ€“ og foretrekker datatestattributter fremfor skjรธr XPath. Selvreparerende AI-agenter omskriver automatisk locatorer etter endringer i brukergrensesnittet.ping Selenium IDE-skript er grรธnne.

Oppsummer dette innlegget med: