Potvrdi i potvrdi u Selenium IDE

โšก Pametni saลพetak

Selenium IDE sa skriptama i naredbama omoguฤ‡uje testerima snimanje, ureฤ‘ivanje i ponovno izvoฤ‘enje radnji preglednika pomoฤ‡u Selenesea โ€” laganog naredbenog jezika IDE-a. Ovaj ฤlanak pokriva snimanje skripte, ruฤno pisanje Selenesea, odabir izmeฤ‘u Asserta i Verifya te otklanjanje pogreลกaka s toฤkama prekida.

  • ๐ŸŽฌ Prvo snimanje: Selenium IDE automatski biljeลพi klikove, unose i tvrdnje dok koristite preglednik.
  • ๐Ÿงฉ Selenski jezik: Svaka naredba ima naziv naredbe, opcionalni cilj i opcionalnu vrijednost - nikad viลกe od dva parametra.
  • ๐Ÿ›‘ Tvrdnja naspram provjere: Assert zaustavlja test u sluฤaju neuspjeha; Verify zapisuje neuspjeh i nastavlja sa sljedeฤ‡im korakom.
  • ๐Ÿ” Tri vrste naredbi: Akcije komuniciraju sa stranicom, pristupnici ฤitaju stanje u varijable, a tvrdnje provjeravaju uvjete.
  • ๐Ÿž Pomoฤ‡ pri otklanjanju pogreลกaka: Koristite Izvrลกi naredbu, Poฤetnu toฤku, Toฤke prekida i Korak za pregled ili ponovno pokretanje jedne naredbe istovremeno.
  • ๐Ÿค– Poboljลกanje umjetne inteligencije: Alati za testiranje umjetne inteligencije automatski generiraju Selenese, predlaลพu robusne lokatore i pretvaraju IDE skripte u Selenium WebDriver kod.

Kako probiti (hakovati) lozinku?

Mi ฤ‡emo koristiti Mercury Web stranica Tours kao naลกa web aplikacija koju testiramo. To je online sustav za rezervaciju letova koji sadrลพi sve elemente potrebne za ovaj tutorial. Njegova osnova URL is https://demo.guru99.com/test/newtours/.

Kreirajmo sada naลกu prvu testnu skriptu Selenium IDE koristeฤ‡i najฤeลกฤ‡u metodu โ€” snimanjem. Nakon toga, izvrลกit ฤ‡emo skriptu koristeฤ‡i znaฤajku reprodukcije.

Biljeลกka: Ovaj tutorial koristi klasiฤni Firefox-samo Selenium IDE 1.x s Firebugom za uvoฤ‘enje osnova Selenesea. Firebug je ukinut 2003. Firefox 57, i moderni Selenium IDE je sada Chrome / Firefox / Proลกirenje za Edge preglednik s drugaฤijim korisniฤkim suฤeljem. Selenese koncepti, vrste naredbi i znaฤajke otklanjanja pogreลกaka u nastavku i dalje se izravno primjenjuju na novo IDE.

Napravite skriptu snimanjem

Korak 1)

  • Lansirati Firefox i Selenium SDI.
  • Upiลกite vrijednost za naลกu bazu URL: https://demo.guru99.com/test/newtours/.
  • Toggle gumb Snimi ukljuฤen (ako nije ukljuฤen prema zadanim postavkama).

Selenium IDE s bazom URL Tipka za postavljanje i snimanje ukljuฤena

Korak 2) In Firefox, krenite u https://demo.guru99.com/test/newtours/. Firefox trebao bi se otvoriti stranica sliฤna onoj ispod.

Mercury Poฤetna stranica Toursa na Firefox

Korak 3)

  • Desnom tipkom miลกa kliknite bilo koji prazan prostor na stranici - na primjer, na Mercury Logotip Toursa u gornjem lijevom kutu. Time se otvara Selenium Kontekstni izbornik IDE-a. Nemoj kliknite na bilo koje hiperpovezane objekte ili slike.
  • Odaberite Prikaลพi dostupne naredbe opcija.
  • Odaberite assertTitle exact: Welcome: Mercury ToursOva naredba provjerava je li naslov stranice ispravan.

Selenium Kontekstni izbornik IDE-a s opcijom "Prikaลพi dostupne naredbe"

Selenium Dodan je IDE editor koji prikazuje naredbu assertTitle

Korak 4)

  • u korisniฤko ime tekstualni okvir od Mercury Tours, upiลกite nevaลพeฤ‡e korisniฤko ime invalidUNN.
  • u Lozinka tekstualno polje upiลกite nevaลพeฤ‡u lozinku invalidPWD.

Uneseno je nevaลพeฤ‡e korisniฤko ime Mercury Obrazac za ture

Unesena je nevaลพeฤ‡a lozinka Mercury Obrazac za ture

Korak 5) kliknite Prijaviti se tipku. Firefox trebao bi se pojaviti na stranici prikazanoj u nastavku.

Mercury Stranica s neuspjelom prijavom na Tours

Korak 6) TogglIskljuฤite gumb za snimanje kako biste zaustavili snimanje. Vaลก bi scenarij sada trebao izgledati kao onaj dolje.

Selenium IDE snimljena skripta nakon zaustavljanjaping snimaฤ

Korak 7) Sada spremite snimljeni testni skript. U file izbornika, odaberite Spremi testni sluฤajili pritisnite Ctrl+S.

Opcija Spremi testni sluฤaj u Selenium Izbornik IDE datoteke

Korak 8)

  • Odaberite odrediลกnu mapu, a zatim joj dodijelite naziv testni sluฤaj Nevaลพeฤ‡a_prijava.
  • Kliknite Uล TEDI.

Spremi dijalog s nazivom Selenium IDE testni sluฤaj Nevaลพeฤ‡a_prijava

Korak 9) Imajte na umu da je datoteka spremljena kao HTML.

Spremljena datoteka testnog sluฤaja s HTML ekstenzijom

Korak 10) Vrati se na Selenium IDE i kliknite na Reprodukcija gumb za izvrลกavanje cijele skripte. Selenium IDE vjerno reproducira svaku radnju.

Selenium Gumb za reprodukciju u IDE-u koji izvrลกava snimljeni skript

Uvod u Selenium Naredbe โ€“ Selenese

Selenese je skriptni jezik koji pokreฤ‡e Selenium IDE. Pravila su jednostavna:

  • Svaka Selenese naredba prihvaฤ‡a do dva parametra - meta a vrijednost.
  • Parametri nisu uvijek obavezni. Broj ovisi o naredbi.

Vrste naredbi

Selenski jezik grupira naredbe u tri kategorije. Svaka ima drugaฤiju ulogu u skripti.

Akcije Naredbe koje izravno komuniciraju s elementima stranice. Primjer: click interagira s elementom na koji kliknete; type stavlja vrijednost u tekstualni okvir, a tekstualni okvir je vraฤ‡a natrag, ลกto omoguฤ‡uje dvosmjernu interakciju.
Pristupnici Naredbe koje pohranjuju vrijednost u varijablu. Primjer: storeTitle samo ฤita naslov stranice i sprema ga โ€” ne mijenja niลกta na stranici.
tvrdnje Naredbe koje provjeravaju uvjet. Selenese otkriva tri vrste tvrdnji: tvrditi zaustavlja test u sluฤaju neuspjeha, Provjeriti zapisuje greลกku i nastavlja, i ฤŒekati pauzira dok uvjet ne postane istinit (zadano vrijeme ฤekanja je 30 sekundi, moลพe se konfigurirati pod Opcije > Opฤ‡enito).

Tvrdnja u odnosu na potvrdu Selenium

Donji dijagrami usporeฤ‘uju ponaลกanje naredbe Assert tijekom izvoฤ‘enja u odnosu na naredbu Verify kada provjera ne uspije usred testiranja.

Zaustavljanje ponaลกanja naredbe Assertping test na neuspjeh

Provjeri ponaลกanje naredbe nastavljajuฤ‡i testiranje nakon zabiljeลพenog kvara

Uobiฤajene naredbe

naredba Broj parametara Description
otvaramo 0-2 Otvara stranicu pomoฤ‡u URL.
klikni / klikni i ฤekaj 1 Klika na odreฤ‘eni element.
tip / tipKeyevi 2 Upisuje niz znakova.
provjeriNaslov / potvrdiNaslov 1 Usporeฤ‘uje stvarni naslov stranice s oฤekivanom vrijednoลกฤ‡u.
verifyTextPresent 1 Provjerava je li zadani tekst pronaฤ‘en na stranici.
verifyElementPresent 1 Provjerava prisutnost odreฤ‘enog elementa.
verifyTable 2 Usporeฤ‘uje sadrลพaj tablice s oฤekivanim vrijednostima.
ฤekaj za uฤitavanje stranice 1 Pauzira izvrลกavanje dok se stranica ne uฤitava.
waitForElementPresent 1 Pauzira izvrลกavanje dok se ne pojavi navedeni element.

Stvorite skriptu ruฤno pomoฤ‡u Firebuga

Sada ruฤno ponovno stvorimo isti testni sluฤaj pomoฤ‡u typing naredbe. Ovaj vodiฤ koristi Firebug za pregled lokatora elemenata. (U modernom Selenium IDE, koristite ugraฤ‘ene DevTools alate preglednika umjesto Firebuga.)

Korak 1) Otvoren Firefox i Selenium IDE. Upiลกite bazu URL https://demo.guru99.com/test/newtours/Gumb za snimanje mora biti ISKLJUฤŒEN.

Selenium Prekidaฤ IDE snimanja u iskljuฤenom stanju

Korak 2) Kliknite na najgornji prazan redak u Editoru.

Odabir prvog praznog retka u Selenium IDE ureฤ‘ivaฤ

Tip open u tekstualni okvir Naredba i pritisnite Enter.

Naredba za otvaranje unesena u Selenium IDE naredbeno polje

Korak 3) Pokreni navigaciju Firefox do baze URL i aktivirajte Firebug. U IDE editoru odaberite redak ispod open naredba i tip assertTitleZa toฤnost koristite prijedloge automatskog dovrลกavanja.

Prijedlozi automatskog dovrลกavanja za assertTitle u Selenium IDE

Korak 4) U Firebugu proลกirite <head> oznaka za otkrivanje <title>Kliknite vrijednost naslova (Dobrodoลกli: Mercury Ture) i zalijepite ga u Target polje u ureฤ‘ivaฤu.

Kopiranje naslova stranice iz Firebuga u ciljno polje IDE-a

Korak 5) Kliknite treฤ‡i prazan redak u Editoru i upiลกite type u polju Naredba. U Firebugu kliknite na Pregledati tipku.

Naredba tipa koja se dodaje Selenium IDE ureฤ‘ivaฤ

Kliknite na tekstualni okvir Korisniฤko ime. Firebug ฤ‡e automatski prikazati odgovarajuฤ‡i HTML element.

Firebug pregledava polje Korisniฤko ime na Mercury Ture

Korak 6) Tekstualni okvir Korisniฤko ime nema ID, ali ima atribut NAME. Kopirajte vrijednost NAME i zalijepite je u Target polje Selenium SDI.

Kopiranje atributa NAME polja korisniฤkog imena

Joลก uvijek u Target polje, prefiks userName sa name= so Selenium IDE cilja element ฤiji je atribut NAME userName.

Selenium Ciljno polje IDE-a s lokatorom name=userName

Tip invalidUN u polju Vrijednost. Vaลก skript sada ima svoju treฤ‡u naredbu. Selenium IDE razlikuje velika i mala slova, stoga upiลกite vrijednosti i nazive atributa toฤno onako kako se pojavljuju u aplikaciji.

Upiลกite naredbu ciljanja name=userName s vrijednoลกฤ‡u invalidUN

Korak 7) Dodajte ฤetvrtu naredbu od strane typing type u polju Naredba. Koristite Firebugove Pregledati gumb u tekstnom okviru Lozinka.

Firebug pregledava polje Lozinka

Zalijepite atribut NAME (password) u Target polje, prefiks s name=i postavite vrijednost na invalidPW.

Selenium IDE skripta nakon dodavanja naredbe za unos lozinke

Korak 8) Dodajte petu naredbu pomoฤ‡u typing clickAndWait u polju Naredba. Koristite Firebugove Pregledati na gumbu Prijava.

Firebug pregledava gumb za prijavu

Zalijepite vrijednost NAME (login) u Target polje s name= prefiks.

Konaฤni priruฤnik Selenium IDE skripta s pet naredbi

Korak 9) Spremite testni sluฤaj kao i prije.

Koriลกtenje gumba Pronaฤ‘i

The naฤ‡i gumb u Selenium IDE potvrฤ‘uje da je vrijednost unesena u Target polje zapravo odgovara UI elementu na stranici.

Otvorite Nevaลพeฤ‡a_prijava testni sluฤaj iz prethodnog odjeljka i kliknite bilo koju naredbu s Target unos โ€” na primjer, treฤ‡a naredba.

Gumb Pronaฤ‘i pored Target polje u Selenium IDE

Kliknite naฤ‡iTekstualni okvir Korisniฤko ime na Mercury Stranica Obilasci nakratko se istiฤe.

Polje korisniฤkog imena istaknuto je u Firefox nakon klika na Pronaฤ‘i

Istaknuto potvrฤ‘uje da Selenium IDE je ispravno razrijeลกio lokator. Ako je oznaฤen pogreลกan element (ili nijedan element), lokator u skripti treba ispraviti.

Izvrลกi naredbu

Naredba Execute izvrลกava jedan redak skripte bez pokretanja cijelog testnog sluฤaja. Kliknite liniju koju ลพelite pokrenuti i odaberite Radnje > Izvrลกi ovu naredbu iz izbornika ili pritisnite X na tipkovnici.

Korak 1) Provjerite je li preglednik ukljuฤen Mercury Poฤetna stranica Tours. Kliknite liniju koju ลพelite pokrenuti - na primjer, type | userName | invalidUN.

Upiลกite naredbu odabranu za izvrลกenje u Selenium IDE

Korak 2) Press X na tipkovnici.

Korak 3) Okvir za unos korisniฤkog imena na stranici popunjen je invalidUN.

Polje korisniฤkog imena popunjeno nakon Izvrลกavanja naredbe

Izvrลกavanje naredbi na ovaj naฤin ovisi o stranici koja Firefox trenutno se prikazuje. Izvoฤ‘enje iste naredbe na GooglePoฤetna stranica korisnika ne bi uspjela jer nema polja s nazivom userName postoji.

Polazna toฤka

Poฤetna toฤka govori Selenium IDE od kojeg retka zapoฤeti izvrลกavanje. Tipka preฤaca je S.

Poฤetna toฤka postavljena na Selenium Redak IDE skripte

U gornjem primjeru, reprodukcija poฤinje u treฤ‡em retku (type | password | invalidPW). Testni skript moลพe imati samo jednu poฤetnu toฤku. Kao i kod Izvrลกi naredbu, poฤetna toฤka ovisi o trenutno prikazanoj stranici i ne uspijeva ako je stranica pogreลกna.

Toฤke prijeloma

Toฤke prekida govore Selenium IDE za automatsko pauziranje testa u zadanom retku. Tipka preฤaca je B.

Indikator toฤke prekida na Selenium Redak IDE skripte

ลฝuta oznaka prikazuje pauzirani korak. Testni sluฤaj moลพe imati viลกe toฤaka prekida.

Korak

The Korak Naredba pokreฤ‡e sljedeฤ‡i redak nakon pauziranog testnog sluฤaja. Koristite je zajedno s toฤkama prekida za kretanje kroz skriptu jednu naredbu odjednom.

Test je pauziran na clickAndWait prije klika na korak

Prije nego ลกto kliknete na Korak. Testni sluฤaj je pauziran na liniji clickAndWait | login.

Test se nastavlja na sljedeฤ‡u naredbu nakon klika na Korak

Nakon klika na Korak. The clickAndWait | login naredba se izvrลกava i izvrลกavanje se pauzira na sljedeฤ‡oj naredbi (verifyTitle | Sign-on: Mercury Tours). Sljedeฤ‡i redak pauzira ฤak i bez toฤke prekida โ€” to je svrha naredbe Step.

Vaลพne stvari koje treba imati na umu kada koristite druge formate u prikazu izvora

Upozorenje o formatima prikaza izvornog koda koji nisu HTML

Selenium IDE 1.x pouzdano radi samo s HTML formatom โ€” ostali formati su joลก uvijek eksperimentalni. Ne preporuฤuje se stvaranje ili ureฤ‘ivanje testova u prikazu izvornog koda koji nije HTML. Poznati problemi od verzije 1.9.1 su:

  • Ne moลพete koristiti reprodukciju ili se vratiti na prikaz tablice bez vraฤ‡anja na HTML.
  • Najsigurniji naฤin dodavanja naredbi u Source Viewu je njihovo snimanje.
  • Ruฤne izmjene u prikazu izvornog koda gube se kada se prebacite na drugi format.
  • Testni sluฤaj moลพete spremiti u Izvornom prikazu, ali Selenium IDE ga moลพda neฤ‡e uspjeti ponovno otvoriti.

Preporuฤeni naฤin pretvaranja Selenese testova u druge jezike je Datoteka > Izvezi testni sluฤaj kaoโ€ฆ izbornik, a ne prikaz izvora.

Pitanja i odgovori

Ostavลกtina Firefox-samo Selenium IDE 1.x se viลกe ne odrลพava. Moderni Selenium IDE je proลกirenje za preglednik Chrome, Firefox, i Edge iz selenium.dev-a, koji podrลพava snimanje i reprodukciju plus izvoz u WebDriver kod.

Koristite Assert za teลกke preduvjete gdje se test ne moลพe nastaviti (na primjer, prva se mora uฤitati desna stranica). Koristite Verify kada kasnije provjere i dalje dodaju vrijednost ฤak i ako trenutna ne uspije, kao ลกto je provjera viลกe polja na obrascu.

Firebug je umirovljen Firefox 57. Koristite ugraฤ‘ene DevTools alate preglednika (F12) ili proลกirenja kao ลกto su SelectorsHub, ChroPath ili Playwright Inspector za hvatanje XPath i CSS lokatora za Selenium skripte.

Da. AI Testne platforme prate korisniฤke sesije, generiraju Selenese naredbe, predlaลพu robusne lokatore i pretvaraju snimljene skripte u Selenium WebDriver kod u Java, Python, ili JavaSkripta s puno manje ruฤnog napora.

Generativna umjetna inteligencija ispituje snimke DOM-a i predlaลพe lokatore koji su manje skloni kvarovima โ€” preferirajuฤ‡i atribute za testiranje podataka u odnosu na krhki XPath. Samoobnavljajuฤ‡i AI agenti automatski prepisuju lokatore nakon promjena korisniฤkog suฤelja, odrลพavajuฤ‡iping Selenium IDE skripte zelene.

Saลพmite ovu objavu uz: