Kas yra selenas?
„Selenium“ yra nemokama (atviro kodo) automatizuota testavimo sistema, naudojama patvirtinti žiniatinklio programas įvairiose naršyklėse ir platformose. Norėdami sukurti „Selen Test“ scenarijus, galite naudoti kelias programavimo kalbas, tokias kaip „Java“, „C #“, „Python“ ir kt. Testavimas, atliktas naudojant seleno testavimo įrankį, paprastai vadinamas Seleno testavimu.
„Selenium Software“ yra ne tik vienas įrankis, bet ir programinės įrangos rinkinys, kurio kiekviena dalis atitinka skirtingus organizacijos „Selenium QA“ testavimo poreikius. Čia yra įrankių sąrašas
- Seleno integruota plėtros aplinka (IDE)
- Seleno nuotolinio valdymo pultas (RC)
- „WebDriver“
- Seleno tinklelis
Šiuo metu „Selenium RC“ ir „WebDriver“ sujungiami į vieną sistemą, kad sudarytų „ Selenium 2“ . Selenas 1, beje, reiškia Selenium RC.
Spustelėkite čia, jei vaizdo įrašas nepasiekiamas
Šioje pamokoje sužinosite:
- Kas yra selenas?
- Kas sukūrė seleną?
- Ta pati kilmės politikos problema
- „Selenium“ nuotolinio valdymo pulto („Selenium RC“) gimimas
- Seleno tinklelio gimimas
- Seleno IDE gimimas
- „WebDriver“ gimimas
- Seleno 2 gimimas
- Taigi, kodėl vardas selenas?
- Trumpas įvadas Selenas IDE
- Trumpas įvadas Seleno nuotolinio valdymo pultas (Selenium RC)
- Trumpas įvadas „WebDriver“
- Seleno tinklelis
- Pastaba apie naršyklės ir aplinkos palaikymą
- Kaip pasirinkti tinkamą seleno įrankį savo poreikiams
- Seleno ir QTP (dabar UFT) palyginimas
- QTP pranašumai prieš seleną
Kas sukūrė seleną?
Kadangi „Selenium“ yra įvairių įrankių kolekcija, jis taip pat turėjo skirtingus kūrėjus. Toliau pateikiami pagrindiniai asmenys, reikšmingai prisidėję prie Seleno projekto
Pirmiausia seleną sukūrė Jasonas Hugginsas 2004 m . „ThoughtWorks“ inžinierius dirbo žiniatinklio programoje, kurią reikėjo dažnai išbandyti. Supratęs, kad pakartotinis rankinis jų taikymo testavimas tampa vis neefektyvesnis, jis sukūrė „JavaScript“ programą, kuri automatiškai valdys naršyklės veiksmus. Jis šią programą pavadino „ JavaScriptTestRunner “. Matydamas šios idėjos galimybes padėti automatizuoti kitas žiniatinklio programas, jis sukūrė „JavaScriptRunner“ atvirojo kodo versiją, kuri vėliau buvo pervadinta į „ Selenium Core“ . |
Ta pati kilmės politikos problema
Ta pati kilmės politika draudžia „JavaScript“ kodui pasiekti elementus iš domeno, kuris skiriasi nuo to, kur jis buvo paleistas . Pavyzdys: www.google.lt HTML kodas naudoja „JavaScript“ programą „randomScript.js“. Ta pati kilmės politika leis randomScript.js pasiekti tik tokius google.com puslapius kaip google.com/mail, google.com/login arba google.com/signup. Tačiau ji negali pasiekti skirtingų svetainių, tokių kaip yahoo.com/search ar guru99.com, puslapių, nes jie priklauso skirtingiems domenams.
Tai yra priežastis, kodėl prieš „Selenium RC“ bandytojams reikėjo įdiegti vietines „Selenium Core“ („JavaScript“ programos) ir žiniatinklio serverio, kuriame yra testuojama žiniatinklio programa, kopijas, kad jos priklausytų tam pačiam domenui
„Selenium“ nuotolinio valdymo pulto („Selenium RC“) gimimas
Deja; bandytojai, naudojantys „Selenium Core“, turėjo įdiegti visą bandomą programą ir interneto serverį savo vietiniuose kompiuteriuose dėl tos pačios kilmės politikos nustatytų apribojimų . Taigi kitas „ThoughtWork“ inžinierius Paulas Hammantas nusprendė sukurti serverį, kuris veiks kaip HTTP tarpinis serveris, kad „apgautų“ naršyklę manyti, kad „Selenium Core“ ir bandoma interneto programa yra to paties domeno. Ši sistema tapo žinoma kaip „ Selenium Remote“ arba „ Selenium 1“ .
Seleno tinklelio gimimas
„Selenium Grid“ sukūrė Patrickas Lightbody, kad kuo labiau sumažintų bandymų vykdymo laiką. Iš pradžių jis pavadino sistemą „ Patalpinta kokybės užtikrinimas “. Jis sugebėjo užfiksuoti naršyklės ekrano kopijas svarbiais etapais ir vienu metu išsiųsti „Selenium“ komandas skirtingoms mašinoms.
Seleno IDE gimimas
Japonė Shinya Kasatani sukūrė „ Selenium IDE“ - „Firefox“ plėtinį, kuris gali automatizuoti naršyklę naudodamas įrašymo ir atkūrimo funkciją. Jis sugalvojo šią idėją dar labiau padidinti bandomųjų atvejų kūrimo greitį. „Selenium IDE“ jis paaukojo Seleno projektui 2006 m .
„WebDriver“ gimimas
Simonas Stewartas sukūrė „WebDriver“ maždaug 2006 m., kai naršyklės ir žiniatinklio programos tapo vis galingesnės ir labiau varžančios naudojant tokias „JavaScript“ programas kaip „Selenium Core“. Tai buvo pirmoji platformų testavimo sistema, galinti valdyti naršyklę iš OS lygio.
Seleno 2 gimimas
Be 2008 , visa Selenas komanda nusprendė sujungti WebDriver ir selenas RC sudaryti daugiau galingas įrankis, vadinamas Selenas 2 , su WebDriver yra pagrindinė . Šiuo metu „Selenium RC“ vis dar kuriamas, bet tik techninės priežiūros režimu. Dabar dauguma „Selenium“ projekto pastangų yra nukreiptos į „Selenium 2“.
Taigi, kodėl vardas selenas?
„Selenium“ vardas kilo iš pokšto, kurį Jasonas kartą sukrėtė savo komandai. Kuriant „Selenium“, kompanija „ Mercury Interactive“ (taip, įmonė, kuri iš pradžių gamino QTP, kol dar neįsigijo HP), buvo populiarus dar vienas automatizuotas testavimo pagrindas . Kadangi selenas yra gerai žinomas apsinuodijimo gyvsidabriu priešnuodis, Jasonas pasiūlė šį vardą ir jo komandos draugai jį paėmė. Taigi taip turėjome vadinti šią sistemą iki šiol.
Trumpas įvadas Selenas IDE
„Selenium Integrated Development Environment“ (IDE) yra paprasčiausias „Selenium“ rinkinio pagrindas , kurį lengviausia išmokti . Tai yra „ Firefox“ papildinys , kurį galite įdiegti taip lengvai, kaip galite naudodami kitus papildinius. Tačiau dėl savo paprastumo Selenium IDE turėtų būti naudojamas tik kaip prototipų kūrimo įrankis . Jei norite sukurti pažangesnius bandymo atvejus, turėsite naudoti „Selenium RC“ arba „WebDriver“.
Trumpas įvadas Seleno nuotolinio valdymo pultas (Selenium RC)
„Selenium RC “ ilgą laiką buvo pavyzdinė viso „Selenium“ projekto bandymų sistema . Tai yra pirmasis automatizuotas žiniatinklio testavimo įrankis, leidęs vartotojams naudoti jiems patogesnę programavimo kalbą . Nuo 2.25.0 versijos RC gali palaikyti šias programavimo kalbas:
- „Java“
- C #
- PHP
- „Python“
- Perl
- Rubinas
Trumpas įvadas „WebDriver“
Pasirodo, kad „WebDriver “ daugeliu aspektų yra geresnė už „Selenium IDE“ ir „Selenium RC “. Tai įgyvendina modernesnį ir stabilesnį požiūrį automatizuojant naršyklės veiksmus. „WebDriver“, skirtingai nei „Selenium RC“, „Selenium Automation Testing“ nepasitiki „JavaScript“. Jis valdo naršyklę tiesiogiai bendraudamas su ja.
Palaikomos kalbos yra tos pačios, kaip ir „Selenium RC“.
- „Java“
- C #
- PHP
- „Python“
- Perl
- Rubinas
Seleno tinklelis
„Selenium Grid“ yra įrankis, naudojamas kartu su „Selenium RC “ vienu metu atliekant lygiagrečius bandymus įvairiose mašinose ir skirtingose naršyklėse. Lygiagretus vykdymas reiškia kelių testų vykdymą vienu metu.
Funkcijos:
- Leidžia vienu metu veikia bandymų į keletą naršyklių ir aplinkoje.
- Nepaprastai taupomas laikas .
- Panaudoja koncentratoriaus ir mazgo koncepciją. Stebulė veikia kaip pagrindinis seleno komandų šaltinis kiekvienam prie jo prijungtam mazgui.
Pastaba apie naršyklės ir aplinkos palaikymą
Dėl savo architektūrinių skirtumų „Selenium IDE“, „Selenium RC“ ir „WebDriver“ palaiko skirtingus naršyklių rinkinius ir darbo aplinkas.
Selenas IDE | „WebDriver“ | |
---|---|---|
Naršyklės palaikymas | Mozilla Firefox | „Internet Explorer“ 6–11 versijos, 32 ir 64 bitų „ Microsoft Edge“ 12.10240 ir naujesnės versijos (dalinai palaikomos kai kurios kuriamos funkcijos) „ Firefox 3.0“ ir naujesnės versijos „ Google Chrome 12.0“. ir naujesnės versijos „ Opera 11.5“ ir naujesnės versijos „Android“ - 2.3 ir naujesnės versijos telefonams ir planšetiniams kompiuteriams (įrenginiams ir emuliatoriams) „iOS 3+“ telefonams (įrenginiams ir emuliatoriams) ir 3,2 ir naujesnės versijos planšetiniams kompiuteriams (įrenginiams ir emuliatoriams) HtmlUnit 2.9 ir naujesnės versijos |
Operacinė sistema | „Windows“, „ Mac OS X“, „ Linux“ | Visos operacinės sistemos, kuriose gali veikti anksčiau nurodytos naršyklės. |
Pastaba: „ Selenium WebDriver“ vadinamas „Selenium RC“ įpėdiniu, kurį „SeleniumHQ“ nebeveikė ir oficialiai paskelbė.
Kaip pasirinkti tinkamą seleno įrankį savo poreikiams
Įrankis | Kodėl verta rinktis? |
---|---|
Selenas IDE |
|
Selenas RC |
|
„WebDriver“ |
|
Seleno tinklelis |
|
Seleno ir QTP (dabar UFT) palyginimas
„Quick Test Professional“ (QTP) yra patentuotas automatizuotas testavimo įrankis, kuris anksčiau priklausė bendrovei „ Mercury Interactive“, kol 2006 m . Ją įsigijo „Hewlett-Packard“ . „Selenium Tool Suite“ turi daug privalumų, palyginti su QTP, kaip aprašyta toliau -
Seleno pranašumai ir pranašumai, palyginti su QTP
Selenas | QTP |
---|---|
Atviras šaltinis , nemokamas naudoti ir nemokamai. | Komercinis . |
Labai išplečiamas | Riboti priedai |
Gali atlikti bandymus skirtingose naršyklėse | Testus galima vykdyti tik „ Firefox“ , „ Internet Explorer“ ir „ Chrome“ |
Palaiko įvairias operacines sistemas | Galima naudoti tik „ Windows“ |
Palaiko mobiliuosius įrenginius | „QTP“ palaiko mobiliųjų programų testavimo automatizavimą („iOS“ ir „Android“) naudojant HP sprendimą, vadinamą „HP Mobile Center“ |
Gali atlikti bandymus , o naršyklė mažinimą | Reikia, kad bandoma programa būtų matoma darbalaukyje |
Gali lygiagrečiai atlikti bandymus . | Galima vykdyti tik lygiagrečiai, bet naudojant kokybės centrą, kuris vėlgi yra mokamas produktas. |
QTP pranašumai prieš seleną
QTP | Selenas |
---|---|
Gali išbandyti ir žiniatinklio, ir darbalaukio programas | Gali išbandyti tik žiniatinklio programas |
Komplekte yra įmontuota objektų saugykla | Neturi įmontuoto objekto saugyklos |
Automatizuojama greičiau nei „Selenium“, nes tai yra visapusiškas IDE. | Automatizuojama lėčiau, nes ji neturi savojo IDE ir tik trečiosios šalies IDE galima naudoti kūrimui |
Duomenimis pagrįstą bandymą atlikti lengviau, nes jame yra įmontuotos pasaulinės ir vietinės duomenų lentelės . | Duomenimis pagrįstas testavimas yra sudėtingesnis, nes nustatydami bandymo duomenų vertes turite pasikliauti programavimo kalbos galimybėmis |
Galima pasiekti naršyklės valdiklius (pvz., Parankinių juostą, adreso juostą, mygtukus „Atgal“ ir „Pirmyn“ ir kt.) | Negalite pasiekti elementų už bandomosios žiniatinklio programos ribų |
Teikia profesionalų klientų aptarnavimą | Oficialus palaikymas vartotojui nėra siūlomas. |
Turi galimybę eksportuoti bandymo duomenis į išorinius formatus | Neturi savosios galimybės eksportuoti vykdymo laiko duomenis į išorinius formatus |
Parametravimo palaikymas yra pastatytas | Parametrus galima atlikti programuojant, tačiau juos sunku įgyvendinti. |
Bandymų ataskaitos generuojamos automatiškai | Nėra vietinio palaikymo bandymų / klaidų ataskaitoms generuoti. |
Nors akivaizdu, kad QTP turi pažangesnes galimybes, selenas nusveria QTP trijose pagrindinėse srityse:
- Kaina (nes selenas yra visiškai nemokamas)
- Lankstumas (dėl daugybės programavimo kalbų, naršyklių ir platformų, kurias jis gali palaikyti)
- Lygiagretus testavimas (tai, ką sugeba QTP, bet tik naudojant kokybės centrą)
Santrauka
- Visą „Selenium“ programinės įrangos testavimo paketą sudaro keturi komponentai:
- Selenium IDE, „Firefox“ priedas, kurį galite naudoti tik kurdami palyginti paprastus bandymo atvejus ir bandomuosius paketus.
- „Selenium“ nuotolinis valdymas, dar žinomas kaip „Selenium 1“, kuris yra pirmasis „Selenium“ įrankis, leidęs vartotojams kurti programavimo kalbas kuriant sudėtingus testus.
- „WebDriver“ - naujesnis proveržis, leidžiantis bandomiesiems scenarijams tiesiogiai bendrauti su naršykle ir taip valdyti ją OS lygiu.
- „Selenium Grid“ taip pat yra įrankis, kuris naudojamas kartu su „Selenium RC“, norint atlikti lygiagrečius bandymus skirtingose naršyklėse ir operacinėse sistemose.
- „Selenium RC“ ir „WebDriver“ buvo sujungti į „Selenium 2“.
- Selenas yra pranašesnis už QTP sąnaudų ir lankstumo atžvilgiu. Tai taip pat leidžia atlikti testus lygiagrečiai, skirtingai nei QTP, kur jums leidžiama vykdyti testus tik nuosekliai.