Selenium IDE vodič

⚡ Pametni sažetak

Selenium IDE je alat za snimanje i reprodukciju Selenium apartman, izgrađen za prototipping testove umjesto održavanja velikih paketa, a njegovi paneli pokrivaju snimanje, uređivanje, pokretanje i pregled svake Selenese naredbe.

  • 🔘 Svrha: IDE bilježi radnje preglednika kao Selenese naredbe i reproducira ih bez ikakvog programiranja.
  • ☑️ Opseg: Tretirajte ga kao prototipping alat, a zatim izvezite skriptu za održivi okvir.
  • ✅ Traka izbornika: Ručke za datoteke stvaraju, otvaraju, spremaju i izvoze; Uređivanje umeće nove naredbe i komentare.
  • 🧪 Opcije: Dijalog Opcije postavlja zadano vrijeme čekanja, bazu URL ponašanje i redoslijed izgradnje lokatora.
  • 🛠️ Urednik: Prikaz tablice je mjesto gdje se unose naredbe, ciljevi i vrijednosti; Prikaz izvornog koda prikazuje isti skript kao i kod označavanja.
  • 📊 Okna za povratne informacije: Okno za zapisnik prikazuje poruke o otklanjanju pogrešaka, informacijama, upozorenjima i pogreškama, dok referentno okno objašnjava odabranu naredbu.
  • 🚀 Danas: Trenutni IDE je Chrome, Firefox i Edge ekstenziju koja sprema projekte kao jednu .side datoteku.

Selenium IDE tutorial koji pokriva njegove panele, izbornike i alatnu traku

Što je Selenium IDE?

Selenium IDE (Integrated Development Environment) je najjednostavniji alat u Selenium Suite. To je Firefox dodatak koji vrlo brzo stvara testove putem svoje funkcije snimanja i reprodukcije. Ova je značajka slična onoj od QTPInstalacija je jednostavna i lako se uči.

⚠️ Napomena o verzijama: o Firefox Dodatak prikazan u ovom članku je ukinut. Alat i dalje postoji kao Chrome, Firefox i Edge proširenje preglednika koji održava snimanje i reprodukciju, ali preuređuje sučelje i sprema projekt kao jednu datoteku .side datoteka. Svaki originalni zaslon i postavka u nastavku sačuvani su onakvima kakvi su objavljeni.

Zbog svoje jednostavnosti, Selenium IDE bi se trebao koristiti samo kao prototipping alat, a ne sveobuhvatno rješenje za razvojping i održavanje složenih testnih paketa.

Iako ćete moći koristiti Selenium IDE bez predznanja programiranja, trebali biste barem poznavati HTML, JavaScripti DOM (Document Object Model) kako bi se iskoristio puni potencijal ovog alata. Poznavanje JavaSkripta će biti potrebna kada dođemo do odjeljka o selenskoj naredbi "runScript".

Selenium IDE podržava način automatskog dovršavanja prilikom izrade testova. Ova značajka ima dvije svrhe:

  • Pomaže ispitivaču da brže unese naredbe.
  • Ograničava korisnika od unosa nevažećih naredbi.

Selenium IDE značajke

Označeni zaslon u nastavku identificira svaku regiju na koju se referira u ostatku ovog članka.

Selenium IDE prozor s trakom izbornika, baza URL traka s alatima, okno za testni slučaj, uređivač i okno za zapisnik označeni

Izbornik Bar

Nalazi se na samom vrhu IDE-a. Najčešće korišteni izbornici su izbornici Datoteka, Uredi i Opcije.

Izbornik datoteka

  • Sadrži opcije za stvaranje, otvaranje, spremanje i zatvaranje testova.
  • Testovi se spremaju u HTML formatu.
  • Najkorisnija opcija je "Izvoz" jer vam omogućuje da pretvorite svoje Selenium IDE testne slučajeve u formate datoteka koji se mogu izvoditi Selenium Daljinski upravljač i WebDriver
  • "Izvezi testni slučaj kao..." izvest će samo trenutno otvoreni testni slučaj.
  • „Izvezi testni paket kao…“ izvest će sve testne slučajeve u trenutno otvorenom testnom paketu.

Prošireni izbornik Datoteka u nastavku prikazuje oba unosa za izvoz jedan pored drugog.

Selenium Izbornik IDE datoteke proširen je i prikazuje opcije Izvoz testnog slučaja kao i Izvoz testnog paketa kao

  • Od Selenium IDE v1.9.1, testni slučajevi mogu se izvesti samo u sljedeće formate:
    • .cs (C# izvorni kod)
    • .java (Java izvorni kod)
    • .py (Python izvorni kod)
    • .rb (Ruby izvorni kod)

Izvoz prepisuje svaki Selenese redak kao naredbu na odabranom jeziku, kao što je ovaj HTML-u-Java usporedba pokazuje.

Selenese HTML testni slučaj prikazan je pored ekvivalentnog izvezenog Java Izvorni kod

Bilješka: Selenium Daljinski upravljač je uklonjen u Selenium 3, tako da se izvezena RC skripta više ne izvršava. Trenutni IDE umjesto toga izvozi WebDriver kod.

Izbornik Uredi

  • Sadrži uobičajene opcije kao što su Poništi, Ponovi, Izreži, Kopiraj, Zalijepi, Izbriši i Odaberi sve.
  • Dvije najvažnije opcije su "Umetni novu naredbu" i "Umetni novi komentar".

Selenium Izbornik IDE-a za uređivanje s označenim opcijama Umetni novu naredbu i Umetni novi komentar

Novoumetnuta naredba ili komentar bit će postavljeni na vrh trenutno odabranog retka.

Mreža uređivača prije i nakon umetanja nove naredbe iznad odabranog retka

  • Naredbe su obojene crno.
  • Komentari su obojeni ljubičastom bojom.

Razlika u boji olakšava uočavanje umetnutog komentara u dugom tekstu.

Redci urednika koji prikazuju crnu selensku naredbu pored ljubičastog retka za komentare

Izbornik opcija

Omogućuje sučelje za konfiguriranje raznih postavki Selenium SDI.

Koncentrirat ćemo se na opcije Opcije i Format međuspremnika.

Podmeni Format međuspremnika s popisom svih dostupnih formata isječaka koda

Format međuspremnika

  • Format međuspremnika omogućuje vam kopiranje Selenese naredbe iz editora i lijepljenje kao isječka koda.
  • Format koda slijedi opciju koju ste odabrali ovdje na popisu Format međuspremnika.
  • HTML je zadani odabir.

Na primjer, kada odaberete Java/JUnit 4/WebDriver kao format međuspremnika, svaka Selenese naredba koju kopirate iz Selenium IDE uređivač bit će zalijepljen kao Java kodirati. Pogledajte ilustraciju u nastavku.

Selenska naredba kopirana iz editora i zalijepljena kao Java Izjava WebDrivera

Selenium Dijaloški okvir IDE Options

Možete pokrenuti Selenium Dijaloški okvir IDE Options klikom na Options > Options… na traci izbornika. Iako postoji mnogo dostupnih postavki, usredotočit ćemo se na nekoliko važnih.

Selenium Dijalog IDE opcija s vremenskim ograničenjem, proširenjima, bazom URL i postavke snimanja označene

  • Zadana vrijednost vremenskog ograničenja. Ovo se odnosi na vrijeme koje Selenium mora pričekati da se određeni element pojavi ili postane dostupan prije nego što generira grešku. Zadana vrijednost vremenskog ograničenja je 30000 ms.
  • Selenium IDE proširenja. Ovdje određujete ekstenzije koje želite koristiti za proširenje Selenium IDE mogućnosti. Možeš posjetiti addons.mozilla.org i koristi "Selenium” kao ključnu riječ za traženje određenih proširenja.
  • Zapamtite bazu URL. Neka ovo bude označeno ako želite Selenium IDE za pamćenje baze URL svaki put kada ga pokrenete. Ako poništite odabir, Selenium IDE će se uvijek pokrenuti s praznom vrijednošću za Base. URL.
  • Zapis automatskog pokretanja. Ako provjerite ovo, Selenium IDE će odmah zabilježiti radnje vašeg preglednika nakon pokretanja.
  • Graditelji lokatora. Ovdje određujete redoslijed kojim se lokatori generiraju tijekom snimanja. Lokatori postoje načini da se kaže Selenium IDE na koji element korisničkog sučelja treba djelovati Selenese naredba. U postavkama ispod, kada kliknete na element s atributom ID-a, ID tog elementa koristit će se kao lokator jer je “id” prvi na popisu. Ako taj element nema ID atribut, Selenium će sljedeći tražiti atribut "name" jer je drugi na popisu. Popis se nastavlja sve dok se ne pronađe odgovarajući.

Povlačenjem unosa gore ili dolje na ovom popisu mijenja se atribut koji snimač prvi koristi.

Popis kreatora lokatora koji prikazuje redoslijed prioriteta koji se koristi kada snimač generira lokator

Baza URL bar

Svaka relativna adresa u skripti se rješava u odnosu na ovo polje.

Baza URL bar Selenium IDE koji sadrži adresu aplikacije koja se testira

  • Ima padajući izbornik koji pamti sve prethodne vrijednosti radi lakšeg pristupa.
  • Selenska naredba "otvori" odvest će vas do URL koju ste naveli u Bazi URL.
  • U ovoj seriji tutorijala koristit ćemo se demo.guru99.com/test/newtours/ kao naša baza URLTo je mjesto za Mercury Tours, demo web aplikacija koja se ovdje koristi u svrhu web testiranja. Koristit ćemo ovu aplikaciju jer sadrži kompletan skup elemenata koji su nam potrebni za sljedeće teme.
  • Uporište URL vrlo je korisno za pristup relativnim URLs. Pretpostavimo da vaša baza URL postavljeno je na Mercury Adresa Toursa iznad. Kada izvršite naredbu „otvori“ s ciljnom vrijednošću „registracija“, Selenium IDE će preusmjeriti preglednik na stranicu za prijavu. Pogledajte ilustraciju u nastavku.

otvorena naredba s relativnom ciljnom prijavom koja se rješava u odnosu na konfiguriranu bazu URL

Alatna traka

Alatna traka sadrži kontrole za snimanje i reprodukciju. Svaki gumb i njegova funkcija navedeni su u nastavku.

Klizač brzine reprodukcije Brzina reprodukcije. Ovo kontrolira brzinu izvršavanja testnog skripta.
Gumb za snimanje Snimanje. Ovo pokreće/završava vašu sesiju snimanja. Svaka radnja preglednika unosi se kao Selenese naredba u Editor.
Gumb za reprodukciju cijelog testnog paketa Reproduciraj cijeli testni paket. Ovim će se sekvencijalno reproducirati svi testni slučajevi navedeni u oknu Testni slučajevi.
Gumb za reprodukciju trenutnog testnog slučaja Reproduciraj trenutni testni slučaj. Ovim će se reproducirati samo trenutno odabrani testni slučaj u oknu Testni slučaj.
Gumb za pauziranje i nastavak Pauziraj/Nastavi. Ovo će pauzirati ili nastaviti reprodukciju.
Gumb za korak Korak. Ovaj gumb će vam omogućiti da uđete u svaku naredbu u svom testnom skriptu.
Gumb Primijeni pravila zbirnog prikupljanja Primijeni pravila zbirnog skupa. Ovo je napredna funkcionalnost. Omogućuje vam grupiranje Selenese naredbi i njihovo izvršavanje kao jedne radnje.

Okno testnog slučaja

Okno testnih slučajeva s popisom otvorenih testnih slučajeva s oznakama boja za prolaz i pad te sažetkom pokretanja

  • In Selenium IDE-u možete otvoriti više testnih slučajeva istovremeno.
  • Okno testnih slučajeva prikazuje vam popis trenutno otvorenih testnih slučajeva.
  • Kada otvorite testni paket, okno testnih slučajeva automatski će prikazati sve testne slučajeve koji se u njemu nalaze.
  • Testni slučaj napisan podebljanim fontom je trenutno odabrani testni slučaj
  • Nakon reprodukcije, svaki testni slučaj je označen bojom kako bi se prikazalo je li prošao ili nije.
  • Zelena boja znači "položeno".
  • Crvena boja znači "Neuspješno".
  • U donjem dijelu nalazi se sažetak broja testnih slučajeva koji su pokrenuti i nisu uspjeli.

urednik

Uređivač možete zamisliti kao mjesto gdje se odvijaju sve radnje. Dostupan je u dva prikaza: Tablica i Izvor.

Pogled na stol

  • Većinu vremena ćete raditi na Selenium IDE pomoću prikaza tablice.
  • Ovdje stvarate i mijenjate Selenese naredbe.
  • Nakon reprodukcije, svaki korak je označen bojom.

Uređivač u tabličnom prikazu s izvršenim koracima označenim bojama nakon reprodukcije

  • Za izradu koraka upišite naziv naredbe u tekstualni okvir "Naredba".
  • Prikazuje padajući popis naredbi koje odgovaraju unosu koji trenutno unositeping.
  • Target je bilo koji parametar (poput korisničkog imena, lozinke) za naredbu, a vrijednost je ulazna vrijednost (poput tom, 123pass) za one Targets.

Naredba, Target i Vrijednost polja od Selenium IDE uređivač tablica

Prikaz izvora

  • Prikazuje korake u HTML (zadano) formatu.
  • Također vam omogućuje uređivanje skripte baš kao u prikazu tablice.

Uređivač u izvornom prikazu prikazuje isti testni slučaj kao HTML Selenese tablicu

Okno dnevnika

Okno za zapisnik prikazuje poruke tijekom izvršavanja. Pruža ažuriranja u stvarnom vremenu o tome što Selenium IDE radi.

Dnevnici su kategorizirani u četiri vrste:

  • Otkloniti neispravnost – Prema zadanim postavkama, poruke o otklanjanju pogrešaka ne prikazuju se u panelu zapisnika. Pojavljuju se samo kada ih filtrirate. Pružaju tehničke informacije o tome što Selenium IDE radi iza kulisa. Može prikazati poruke kao što je određeni modul izvršio učitavanje, određena funkcija je pozvana ili vanjska JavaDatoteka skripte je učitana kao proširenje.
  • Info – Piše koja naredba Selenium IDE se trenutno izvršava.
  • Upozoriti – To su poruke upozorenja koje se pojavljuju u posebnim situacijama.
  • greška – To su poruke o pogrešci koje se generiraju kada Selenium IDE ne uspijeva izvršiti naredbu ili ako je ispunjen uvjet određen parametrom naredba „provjeri“ ili „potvrdi“ nije ispunjeno.

Padajući izbornik okna zapisnika s popisom vrsta poruka o otklanjanju pogrešaka, informacijama, upozorenjima i pogreškama

Zapisnici se mogu filtrirati prema vrsti. Na primjer, ako s padajućeg popisa odaberete opciju "Pogreška", okno zapisnika prikazivat će samo poruke o pogrešci.

Okno zapisnika filtrirano je na Grešku tako da ostaju vidljive samo poruke o neuspjelim naredbama

Referentno okno

Referentni okvir prikazuje sažet opis trenutno odabrane Selenese naredbe u Editoru. Također prikazuje opis lokatora i vrijednosti koja će se koristiti za tu naredbu.

Referentni okvir koji opisuje odabranu Selenese naredbu s njezinim argumentima cilja i vrijednosti

Okno UI-Element

UI-Element je za napredne Selenium korisnika. Koristi se JavaNotacija skriptnih objekata (JSON) za definiranje mape elemenatapingDokumentacija i resursi nalaze se u opciji „Dokumentacija elemenata korisničkog sučelja“ u izborniku Pomoć u Selenium SDI.

Izbornik pomoći Selenium IDE s unosom Dokumentacija elemenata korisničkog sučelja

Primjer zaslona elementa korisničkog sučelja prikazan je u nastavku.

Okno UI-Element koje sadrži JSON mapu elemenata za aplikaciju koja se testira

Skupno okno

Zbrajanje vam omogućuje izvršavanje grupe naredbi u jednom koraku. Grupa naredbi se jednostavno naziva "zbrajanje". Koristi se u velikoj mjeri JavaKoncepti skripte i UI-elementa za formuliranje zbirke naredbi koja je slična "funkciji" u programskim jezicima.

Rollupovi se mogu ponovno koristiti; što znači da se mogu koristiti više puta unutar testnog slučaja. Budući da su rollupovi skupine naredbi sažete u jednu, oni uvelike doprinose skraćivanju vašeg testnog skripta.

Nekoliko Selenese koraka sažeto je u jednu naredbu za zbir u editoru

Dolje je prikazan primjer kako izgleda sadržaj kartice rollup.

Okno s zbirnim popisom koje prikazuje JavaDefinicija skripte iza pravila zbirnog ...

Okna rollup i UI-Element nemaju ekvivalent u trenutnom proširenju; naredbe za upravljanje tokom i izvoz koda sada ispunjavaju tu ulogu.

Pitanja i odgovori

Jedna datoteka s ekstenzijom .side sadrži cijeli projekt - svaki test, svaki paket i bazu. URLTo zamjenjuje stari model jedne HTML datoteke po testnom slučaju i olakšava prenošenje projekta na kontrolu verzija.

Da. Reprodukcija unutar ekstenzije koristi preglednik u kojem je instalirana, ali program za izvršavanje naredbenog retka izvršava spremljeni projekt u drugim preglednicima i uklapa se u cjevovod izgradnje, što program za reprodukciju unutar preglednika ne može.

Trenutni IDE nudi naredbe za upravljanje tokom, uključujući if, else if, else, while, times, do, repeat if i for each. To pokriva grananje i loo.ping u snimljenom scenariju bez JavaZaobilazna rješenja skripte potrebna za staru značajku zbirnog dijeljenja.

Snimač pohranjuje nekoliko kandidata za lokatore za svaki element. Tijekom reprodukcije isprobavaju se alternative dok se jedna ne ostvari, tako da promjena ID-a ne prekida nužno korak. Stalni neuspjesi i dalje znače da je popis lokatora potrebno ručno urediti.

Desnim klikom na test ili paket nudi se WebDriver kod za C# NUnit, C# xUnit, Java JUnit, JavaSkripta Mocha, Python pytest i Ruby RSpec. Opcionalni prekidač dodaje komentare tracvraćajući svaku generiranu liniju na njezin zabilježeni korak.

Strojno učenje se uglavnom primjenjuje na najslabiji dio snimljenih testova: lokatore. Samoobnavljajući mehanizmi rangiraju nekoliko kandidata za selektore i zamjenjuju ih ispravnim kada se oznaka promijeni, a slični modeli grupiraju ponovljene kvarove kako bi odvojili stvarne nedostatke od vremenske buke.

Dobro je prilagođen prolazu za čišćenje. Izvezeni kod je jedna duga linearna metoda, a Copilot će ga refaktorirati u objekte stranice, uvući čvrsto kodirane podatke u fixtures i zamijeniti fiksne pauze eksplicitnim čekanjima. Revpogledajte lokatore koje čuva.

Čim testovima budu potrebne zajedničke postavke, podatkovne datoteke, izvještavanje ili ponovna upotreba u različitim paketima. IDE je izvrstan za brzo dokazivanje scenarija; kodirani Selenium Okvir je ono što održava stotine tih scenarija održivima.

Sažmite ovu objavu uz: