Hævd og bekræft i Selenium IDE

⚡ Smart opsummering

Selenium IDE med scripts og kommandoer giver testere mulighed for at optage, redigere og afspille browserhandlinger ved hjælp af Selenese – IDE'ens lette kommandosprog. Denne artikel dækker optagelse af et script, manuel skrivning af Selenese, valg mellem Assert og Verify samt fejlfinding med breakpoints.

  • 🎬 Optag først: Selenium IDE registrerer automatisk klik, input og assertions, mens du betjener browseren.
  • 🧩 Selenesisk sprog: Hver kommando har et kommandonavn, et valgfrit mål og en valgfri værdi – aldrig mere end to parametre.
  • 🛑 Påstå vs. Bekræft: Assert stopper testen ved fejl; Verify logger fejlen og fortsætter med næste trin.
  • 🔍 Tre kommandotyper: Handlinger interagerer med siden, adgangspunkter læser tilstand ind i variabler, påstande kontrollerer betingelser.
  • 🐞 Fejlfindingshjælpemidler: Brug Udfør kommando, Startpunkt, Breakpoints og Trin til at inspicere eller gentage en enkelt kommando ad gangen.
  • 🤖 AI Boost: AI-testværktøjer genererer automatisk selenese, foreslår robuste locatorer og konverterer IDE-scripts til Selenium WebDriver-kode.

Hvordan knækker (hacker) man en adgangskode?

Vi vil bruge Mercury Tours hjemmeside som vores webapplikation under test. Det er et online flyreservationssystem, der indeholder alle de elementer, vi har brug for til denne vejledning. Dens base URL is https://demo.guru99.com/test/newtours/.

Lad os nu oprette vores første testscript i Selenium IDE ved hjælp af den mest almindelige metode — ved optagelse. Derefter udfører vi scriptet ved hjælp af afspilningsfunktionen.

Bemærk: Denne vejledning bruger den klassiske Firefox-kun Selenium IDE 1.x med Firebug for at introducere det grundlæggende i Selenese. Firebug blev udfaset i Firefox 57, og den moderne Selenium IDE er nu en Chrome / Firefox / Edge browserudvidelse med en anden brugergrænseflade. Selenese-koncepterne, kommandotyperne og fejlfindingsfunktionerne nedenfor gælder stadig direkte for den nye IDE.

Opret et script ved at optage

Trin 1)

  • Launch Firefox og Selenium SDI.
  • Indtast værdien for vores base URL: https://demo.guru99.com/test/newtours/.
  • TogglSlå Optage-knappen til (hvis den ikke er slået til som standard).

Selenium IDE med base URL Indstil og Optag-knappen er slået til

Trin 2) In Firefox, navigere til https://demo.guru99.com/test/newtours/. Firefox burde lande på en side der ligner den nedenfor.

Mercury Turenes hjemmeside i Firefox

Trin 3)

  • Højreklik på et hvilket som helst tomt område på siden – for eksempel på Mercury Tours-logoet i øverste venstre hjørne. Dette åbner Selenium IDE-kontekstmenu. Må ikke klik på eventuelle hyperlinkede objekter eller billeder.
  • Vælg Vis tilgængelige kommandoer valgmulighed.
  • Vælg assertTitle exact: Welcome: Mercury ToursDenne kommando kontrollerer, at sidetitlen er korrekt.

Selenium IDE-kontekstmenu med Vis tilgængelige kommandoer

Selenium IDE-editor, der viser assertTitle-kommandoen, er tilføjet

Trin 4)

  • I brugernavn tekstboks af Mercury Ture, indtast det ugyldige brugernavn invalidUNN.
  • I Adgangskode tekstboks, skriv den ugyldige adgangskode invalidPWD.

Ugyldigt brugernavn indtastet Mercury Turformular

Ugyldig adgangskode indtastet Mercury Turformular

Trin 5) Klik på knappen Log ind . Firefox skal lande på siden vist nedenfor.

Mercury Side om fejl i login på Tours

Trin 6) TogglSluk for at stoppe optagelsen. Dit script burde nu ligne det nedenfor.

Selenium IDE-optaget script efter stopping optageren

Trin 7) Gem nu det optagede testscript. I File (Felt) menu, vælg Gem testcaseeller tryk på Ctrl+S.

Gem testcase-muligheden i Selenium IDE-filmenu

Trin 8)

  • Vælg en destinationsmappe, og navngiv derefter test sag Ugyldigt_login.
  • Klik Gem.

Gem dialogboksen, der navngiver Selenium IDE-testtilfælde Ugyldigt_login

Trin 9) Bemærk at filen er gemt som HTML.

Gemt testcase-fil med HTML-endelse

Trin 10) Vend tilbage til Selenium IDE og klik på Afspilning knappen for at udføre hele scriptet. Selenium IDE afspiller hver handling trofast.

Selenium IDE-afspilningsknap, der udfører det optagede script

Introduktion til Selenium Kommandoer – Selenesisk

Selenesisk er skriftsproget, der driver Selenium IDE. Reglerne er enkle:

  • Hver Selenese-kommando accepterer op til to parametre — en mål og en værdi.
  • Parametre er ikke altid påkrævede. Antallet afhænger af kommandoen.

Typer af kommandoer

Selenese grupperer kommandoer i tre kategorier. Hver kategori har en forskellig rolle i scriptet.

handlinger Kommandoer, der interagerer direkte med sideelementer. Eksempel: click interagerer med det element, du klikker på; type indsætter en værdi i en tekstboks, og tekstboksen gentager den, hvilket giver en tovejsinteraktion.
Tilbehør Kommandoer, der gemmer en værdi i en variabel. Eksempel: storeTitle læser kun sidetitlen og gemmer den — den ændrer ikke noget på siden.
påstande Kommandoer, der verificerer en betingelse. Selenese eksponerer tre typer af påstande: Hævde stopper testen ved fejl, Bekræft logger fejlen og fortsætter, og Vent på holder pause, indtil en betingelse bliver sand (standard timeout 30 sekunder, kan konfigureres under Indstillinger > Generelt).

Bekræft vs. Bekræft ind Selenium

Diagrammerne nedenfor viser en kontrast mellem kørselsadfærden for en Assert-kommando og en Verify-kommando, når kontrollen fejler midt i testen.

Stop af kommandoadfærd ved at hævde detping testen på fiasko

Bekræft kommandoens adfærd ved fortsat test efter en logget fejl

Almindelige kommandoer

Kommando Antal parametre Beskrivelse
åbent 0-2 Åbner en side ved hjælp af en URL.
klik / klik og vent 1 Klik på et bestemt element.
type / typeNøgler 2 Indtaster en sekvens af tegn.
verificérTitel / hævdTitel 1 Sammenligner den faktiske sidetitel med en forventet værdi.
verifyTextPresent 1 Kontrollerer om en given tekst findes på siden.
verifyElementPresent 1 Kontrollerer tilstedeværelsen af ​​et specifikt element.
verifyTable 2 Sammenligner indholdet af en tabel med forventede værdier.
vente på SideToLoad 1 Sætter kørslen på pause, indtil siden er færdigindlæst.
waitForElementPresent 1 Sætter udførelsen på pause, indtil det angivne element vises.

Opret et script manuelt med Firebug

Lad os nu genskabe den samme testcase manuelt af typing kommandoerne. Denne gennemgang bruger Firebug til at inspicere elementlokaliseringsværktøjer. (I den moderne Selenium IDE, brug browserens indbyggede DevTools i stedet for Firebug.)

Trin 1) Åbne Firefox og Selenium IDE. Skriv basen URL https://demo.guru99.com/test/newtours/Optageknappen skal være slukket.

Selenium IDE Record-skift i FRA-tilstand

Trin 2) Klik på den øverste tomme linje i editoren.

Markering af den første tomme række i Selenium IDE editor

Type open i tekstfeltet Kommando, og tryk på Enter.

Åbn-kommandoen indtastet i Selenium IDE-kommandofelt

Trin 3) Naviger Firefox til basen URL og aktiver Firebug. I IDE-editoren skal du vælge linjen under open kommando og type assertTitleBrug forslagene til automatisk udfyldning for at sikre nøjagtighed.

Autofuldførelsesforslag for assertTitle i Selenium IDE

Trin 4) I Firebug skal du udvide <head> tag for at afsløre <title>Klik på titelværdien (Velkommen: Mercury ture) og indsæt det i Target felt i editoren.

Kopiering af sidetitlen fra Firebug til IDE-målfeltet

Trin 5) Klik på den tredje tomme linje i editoren, og skriv type i kommandofeltet. I Firebug skal du klikke på Inspicere .

Typekommandoen tilføjes i Selenium IDE editor

Klik på tekstfeltet Brugernavn. Firebug viser automatisk det matchende HTML-element.

Firebug undersøger brugernavnsfeltet på Mercury ture

Trin 6) Tekstfeltet Brugernavn har intet ID, men det har en NAME-attribut. Kopier NAME-værdien og indsæt den i Target felt af Selenium SDI.

Kopiering af brugernavnfeltet NAME-attributten

Stadig i Target felt, præfiks userName med name= so Selenium IDE er rettet mod det element, hvis NAME-attribut er userName.

Selenium IDE-målfelt med navn=brugernavn-lokaliseringsfunktion

Type invalidUN i feltet Værdi. Dit script har nu sin tredje kommando. Selenium IDE skelner mellem store og små bogstaver, så skriv værdier og attributnavne præcis som de vises i applikationen.

Skriv kommandoen, der er målrettet mod navn=brugernavn, med værdien invalidUN

Trin 7) Tilføj en fjerde kommando med typing type i kommandofeltet. Brug Firebugs Inspicere knappen i tekstfeltet Adgangskode.

Firebug undersøger adgangskodefeltet

Indsæt NAME-attributten (password) ind i Target felt, præfiks med name=, og indstil værdien til invalidPW.

Selenium IDE-script efter tilføjelse af kommandoen password type

Trin 8) Tilføj den femte kommando af typing clickAndWait i kommandofeltet. Brug Firebugs Inspicere på knappen Log ind.

Firebug undersøger Log ind-knappen

Indsæt NAME-værdien (login) ind i Target felt med name= præfiks.

Endelig manual Selenium IDE-script med fem kommandoer

Trin 9) Gem testcasen som før.

Brug af Find-knappen

Finde knappen i Selenium IDE bekræfter, at den værdi, der er indtastet i Target feltet matcher faktisk et brugergrænsefladeelement på siden.

Åbne Ugyldigt_login testcase fra forrige afsnit og klik på en hvilken som helst kommando med en Target indtastning — for eksempel den tredje kommando.

Find-knappen ved siden af Target felt i Selenium IDE

Klik FindeTekstfeltet Brugernavn på Mercury Siden Ture bliver kortvarigt fremhævet.

Brugernavnsfelt fremhævet i Firefox efter at have klikket på Find

Højdepunktet bekræfter det Selenium IDE'en fandt locatoren korrekt. Hvis det forkerte element (eller intet element) er fremhævet, skal locatoren i scriptet rettes.

Udfør kommandoen

Execute Command kører en enkelt linje af scriptet uden at køre hele testcasen. Klik på den linje, du vil køre, og vælg enten Handlinger > Udfør denne kommando fra menuen eller tryk på X på tastaturet.

Trin 1) Sørg for, at browseren er tændt Mercury Turenes hjemmeside. Klik på den linje, du ønsker at køre — for eksempel, type | userName | invalidUN.

Skriv kommandoen valgt til udførelse i Selenium IDE

Trin 2) Presse X på tastaturet.

Trin 3) Brugernavnsfeltet på siden er udfyldt med invalidUN.

Brugernavnsfelt udfyldt efter Udfør kommando

Udførelse af kommandoer på denne måde afhænger af den side, der Firefox vises i øjeblikket. Kører den samme kommando på Googles hjemmeside ville fejle, fordi der ikke er noget felt med navnet userName der.

Startpunkt

Et startpunkt fortæller Selenium IDE hvilken linje udførelsen skal starte fra. Genvejstasten er S.

Startpunkt sat på en Selenium IDE-scriptlinje

I eksemplet ovenfor starter afspilningen på den tredje linje (type | password | invalidPW). Et testscript kan kun have ét startpunkt. Ligesom med Execute Command afhænger startpunktet af den aktuelt viste side og fejler, hvis siden er forkert.

stoppunkter

Breakpoints fortæller Selenium IDE til at sætte testen på pause automatisk på en given linje. Genvejstasten er B.

Breakpoint-indikator på en Selenium IDE-scriptlinje

Den gule markering viser det midlertidigt afbrudte trin. En testcase kan have flere breakpoints.

Trin

Trin Kommandoen kører den næste linje efter en midlertidigt afbrudt testcase. Brug den sammen med breakpoints til at gennemgå et script én kommando ad gangen.

Testen blev sat på pause ved clickAndWait før klik på Trin

Før du klikker på Trin. Testcasen er sat på pause på linjen clickAndWait | login.

Test videre til næste kommando efter at have klikket på Trin

Efter at have klikket på Trin. clickAndWait | login kommandoen kører, og udførelsen pauser ved den næste kommando (verifyTitle | Sign-on: Mercury ToursDen næste linje holder pause, selv uden et breakpoint — det er formålet med Step.

Vigtige ting at bemærke, når du bruger andre formater i kildevisning

Advarsel om ikke-HTML-kildevisningsformater

Selenium IDE 1.x fungerer kun pålideligt med HTML-formatet — andre formater er stadig eksperimentelle. Det anbefales ikke at oprette eller redigere tests i en ikke-HTML-kildevisning. De kendte problemer fra version 1.9.1 er:

  • Du kan ikke bruge afspilning eller skifte tilbage til tabelvisning uden at vende tilbage til HTML.
  • Den sikreste måde at tilføje kommandoer i kildevisning er ved at optage dem.
  • Manuelle redigeringer i kildevisning går tabt, når du skifter til et andet format.
  • Du kan gemme en testcase i kildevisningen, men Selenium IDE kan muligvis ikke genåbne den.

Den anbefalede måde at konvertere selenesiske tests til andre sprog er Fil > Eksporter testcase som… menuen, ikke kildevisningen.

Ofte Stillede Spørgsmål

Arven Firefox-kun Selenium IDE 1.x vedligeholdes ikke længere. Den moderne Selenium IDE er en browserudvidelse til Chrome, Firefoxog Edge fra selenium.dev, der understøtter optagelse og afspilning samt eksport til WebDriver-kode.

Brug Assert til hårde forudsætninger, hvor testen ikke kan fortsætte (f.eks. skal den rigtige side indlæses først). Brug Verify, når senere kontroller stadig tilføjer værdi, selvom den aktuelle fejler, f.eks. verificering af flere felter i en formular.

Firebug blev pensioneret i Firefox 57. Brug browserens indbyggede DevTools (F12) eller udvidelser som SelectorsHub, ChroPath eller Playwright Inspector til at finde XPath- og CSS-lokaliseringsværktøjer til Selenium scripts.

Ja. AI testplatforme overvåger brugersessioner, genererer selenese-kommandoer, foreslår robuste lokaliseringsværktøjer og konverterer optagede scripts til Selenium WebDriver-kode i Java, Python eller JavaScript med meget mindre manuel indsats.

Generativ AI undersøger DOM-snapshots og foreslår locatorer, der er mindre tilbøjelige til at bryde – og foretrækker datatestattributter frem for skrøbelig XPath. Selvreparerende AI-agenter omskriver automatisk locatorer efter ændringer i brugergrænsefladen.ping Selenium IDE-scripts grønne.

Opsummer dette indlæg med: