Kaj je selen?
Selen je brezplačen (odprtokodni) samodejni testni okvir, ki se uporablja za preverjanje veljavnosti spletnih aplikacij v različnih brskalnikih in platformah. Za ustvarjanje preizkusnih skriptov selena lahko uporabite več programskih jezikov, kot so Java, C #, Python itd. Testiranje, opravljeno z orodjem za testiranje selena, se običajno imenuje testiranje selena.
Programska oprema Selenium ni samo eno orodje, temveč nabor programske opreme, saj vsak kos ustreza različnim potrebam organizacije za testiranje kakovosti Selenium. Tu je seznam orodij
- Integrirano razvojno okolje za selen (IDE)
- Daljinski upravljalnik selena (RC)
- WebDriver
- Selenova mreža
Trenutno sta Selenium RC in WebDriver združena v en sam okvir, da tvorita Selenium 2 . Mimogrede, selen 1 se nanaša na selen RC.
Kliknite tukaj, če video ni dostopen
V tej vadnici boste izvedeli:
- Kaj je selen?
- Kdo je razvil selen?
- Izdaja iste politike o izvoru
- Rojstvo daljinskega upravljalnika selena (Selenium RC)
- Rojstvo selenove mreže
- Rojstvo selena IDE
- Rojstvo WebDriverja
- Rojstvo selena 2
- Torej, zakaj ime Selen?
- Kratek uvod Selen IDE
- Kratek uvod Selen daljinski upravljalnik (Selenium RC)
- Kratek uvod WebDriver
- Selenova mreža
- Opomba o podpori za brskalnik in okolje
- Kako izbrati pravo orodje za selen za vaše potrebe
- Primerjava med selenom in QTP (zdaj UFT)
- Prednosti QTP pred selenom
Kdo je razvil selen?
Ker je Selenium zbirka različnih orodij, je imel tudi različne razvijalce. Spodaj so ključne osebe, ki so pomembno prispevale k projektu Selenium
Selen je predvsem ustvaril Jason Huggins leta 2004 . Inženir v podjetju ThoughtWorks je delal na spletni aplikaciji, ki je zahtevala pogosto testiranje. Ko je ugotovil, da ponavljajoče se ročno testiranje njihove aplikacije postaja vedno bolj neučinkovito, je ustvaril program JavaScript, ki bo samodejno nadzoroval delovanje brskalnika. Ta program je poimenoval kot " JavaScriptTestRunner ." Ker je v tej ideji videl potencial za avtomatizacijo drugih spletnih aplikacij, je JavaScriptRunner naredil odprtokodno, ki je bil kasneje preimenovan v Selenium Core . |
Izdaja iste politike o izvoru
Pravilnik o istem izvoru prepoveduje kodi JavaScript dostop do elementov iz domene, ki se razlikuje od države, kjer je bila zagnana . Na primer, koda HTML na spletnem mestu www.google.com uporablja program JavaScript "randomScript.js". Isti pravilnik o izvoru bo dovolil samo randomScript.js dostop do strani znotraj google.com, kot so google.com/mail, google.com/login ali google.com/signup. Vendar pa ne more dostopati do strani z različnih spletnih mest, kot sta yahoo.com/search ali guru99.com, ker pripadajo različnim domenam.
To je razlog, zakaj so morali preizkuševalci pred Selenium RC namestiti lokalne kopije Selenium Core (program JavaScript) in spletnega strežnika, ki vsebuje spletno aplikacijo, ki se preskuša, da bi pripadali isti domeni
Rojstvo daljinskega upravljalnika selena (Selenium RC)
Na žalost; preizkuševalci, ki uporabljajo Selenium Core, so morali namestiti celotno preskušano aplikacijo in spletni strežnik na svoje lokalne računalnike zaradi omejitev, ki jih nalaga ista politika izvora. Tako se je drugi inženir ThoughtWork, Paul Hammant , odločil, da bo ustvaril strežnik, ki bo deloval kot strežnik HTTP, s čimer bo brskalnik "prelisičil", da verjame, da Selenium Core in spletna aplikacija, ki jo testiramo, prihajata iz iste domene. Ta sistem je postal znan kot daljinski upravljalnik Selenium ali Selenium 1 .
Rojstvo selenove mreže
Selenium Grid je razvil Patrick Lightbody, da bi čim bolj zmanjšal čas izvedbe testa. Sistem je sprva imenoval " Hosted QA ". V pomembnih fazah je lahko zajemal posnetke zaslona brskalnika in hkrati pošiljal ukaze Selenium različnim strojem.
Rojstvo selena IDE
Japonski Shinya Kasatani je ustvaril Selenium IDE , razširitev za Firefox, ki lahko brskalnik avtomatizira s funkcijo snemanja in predvajanja. Prišel je s to idejo, da bi še povečal hitrost pri ustvarjanju testnih primerov. Leta 2006 je projektu Selenium podaril selenium IDE .
Rojstvo WebDriverja
Simon Stewart ustvaril WebDriver okoli leta 2006, ko so brskalniki in spletne aplikacije postajali vse močnejši in bolj omejevalni s programi JavaScript, kot je Selenium Core. To je bil prvi preskusni okvir za več platform, ki je lahko brskalnik nadzoroval z ravni OS.
Rojstvo selena 2
Leta 2008 je celotna Selen Team odločila združiti WebDriver in selen RC, da nastane bolj zmogljivo orodje, imenovano Selen 2 , pri čemer WebDriver jedro . Trenutno se Selenium RC še vedno razvija, vendar le v načinu vzdrževanja. Večina prizadevanj projekta Selenium je zdaj osredotočenih na Selenium 2.
Torej, zakaj ime Selen?
Ime Selenium je nastalo iz šale, ki jo je Jason enkrat napustil svoji ekipi. Med razvojem Selenia je bilo priljubljeno drugo orodje za avtomatizirano testiranje, ki ga je imenovalo Mercury Interactive (ja, podjetje, ki je prvotno izdelalo QTP, preden ga je HP kupil). Ker je selenij dobro znan protistrup za zastrupitve z živim srebrom, je Jason predlagal, da so ga vzeli ime in njegovi soigralci. Tako smo morali ta okvir imenovati do danes.
Kratek uvod Selen IDE
Integrirano razvojno okolje (IDE) Selenium je najpreprostejši okvir v zbirki Selenium in ga je najlažje naučiti . To je vtičnik Firefox, ki ga lahko namestite tako enostavno kot z drugimi vtičniki. Vendar pa je treba Selenium IDE zaradi svoje preprostosti uporabljati le kot orodje za izdelavo prototipov . Če želite ustvariti naprednejše testne primere, boste morali uporabiti bodisi Selenium RC bodisi WebDriver.
Kratek uvod Selen daljinski upravljalnik (Selenium RC)
Selenium RC je bil dolgo časa vodilni testni okvir celotnega projekta Selenium. To je prvo orodje za avtomatizirano spletno testiranje, ki je uporabnikom omogočilo uporabo programskega jezika, ki jim je ljubši . Od različice 2.25.0 lahko RC podpira naslednje programske jezike:
- Java
- C #
- PHP
- Python
- Perl
- Ruby
Kratek uvod WebDriver
WebDriver se je v mnogih pogledih izkazal za boljšega od Selenium IDE in Selenium RC . Izvaja sodobnejši in stabilnejši pristop pri avtomatizaciji dejanj brskalnika. WebDriver se v nasprotju s selenium RC ne zanaša na JavaScript za testiranje avtomatizacije selena. Brskalnik nadzoruje z neposredno komunikacijo z njim.
Podprti jeziki so enaki jezikom v programu Selenium RC.
- Java
- C #
- PHP
- Python
- Perl
- Ruby
Selenova mreža
Selenium Grid je orodje, ki se uporablja skupaj s Selenium RC za izvajanje vzporednih testov na različnih strojih in različnih brskalnikih hkrati. Vzporedno izvajanje pomeni izvajanje več testov hkrati.
Lastnosti:
- Omogoča hkratno izvajanje testov v več brskalnikih in okoljih.
- Čas izjemno prihrani .
- Uporablja koncept vozlišča in vozlišč . Središče deluje kot osrednji vir selenovih ukazov za vsako z njim povezano vozlišče.
Opomba o podpori za brskalnik in okolje
Zaradi svojih arhitekturnih razlik Selenium IDE, Selenium RC in WebDriver podpirajo različne sklope brskalnikov in operacijskih okolij.
Selen IDE | WebDriver | |
---|---|---|
Podpora za brskalnik | Mozilla Firefox | Internet Explorer različice od 6 do 11, tako 32 kot 64-bitna različica Microsoft Edge 12.10240 in novejša (delna podpora nekaterim funkcionalnostim v razvoju) Firefox 3.0 in novejši Google Chrome 12.0. in novejše različice Opera 11.5 in novejše različice Android - 2.3 in novejše različice za telefone in tablične računalnike (naprave in emulatorji) iOS 3+ za telefone (naprave in emulatorji) in 3.2+ za tablične računalnike (naprave in emulatorji) HtmlUnit 2.9 in novejše |
Operacijski sistem | Windows, Mac OS X, Linux | Vsi operacijski sistemi, v katerih lahko delujejo zgornji brskalniki. |
Opomba: Selenium WebDriver se imenuje naslednik Selenium RC, ki ga je SeleniumHQ opustil in uradno napovedal.
Kako izbrati pravo orodje za selen za vaše potrebe
Orodje | Zakaj izbrati? |
---|---|
Selen IDE |
|
Selen RC |
|
WebDriver |
|
Selenova mreža |
|
Primerjava med selenom in QTP (zdaj UFT)
Quick Test Professional (QTP) je lastniško avtomatizirano orodje za testiranje, ki je bilo v lasti podjetja Mercury Interactive, preden ga je leta 2006 prevzela družba Hewlett-Packard . Suite Selenium Tool Suite ima veliko prednosti pred QTP, kot je opisano spodaj -
Prednosti in prednosti selena pred QTP
Selen | QTP |
---|---|
Odprtokodna , brezplačna in brezplačna. | Komercialno . |
Zelo raztegljiv | Omejeni dodatki |
Lahko izvaja teste v različnih brskalnikih | Preskuse lahko izvaja samo v Firefoxu , Internet Explorerju in Chromu |
Podpira različne operacijske sisteme | Uporablja se lahko samo v sistemu Windows |
Podpira mobilne naprave | QTP podpira avtomatizacijo preizkusov mobilnih aplikacij (iOS in Android) z uporabo HP-jeve rešitve, imenovane - HP Mobile Center |
Lahko izvaja teste, medtem ko je brskalnik minimiziran | Potrebno je, da je preizkušena aplikacija vidna na namizju |
Lahko izvaja teste vzporedno . | Izvaja se lahko le vzporedno, vendar s pomočjo Centra kakovosti, ki je spet plačljiv izdelek. |
Prednosti QTP pred selenom
QTP | Selen |
---|---|
Preizkusi lahko spletne in namizne programe | Preizkusi lahko samo spletne aplikacije |
Prihaja z vgrajenim skladiščem predmetov | Nima vgrajenega skladišča predmetov |
Avtomatizira hitreje od selena, ker je popolnoma opremljen IDE. | Počasneje avtomatizira, ker nima izvornega IDE-ja in je za razvoj mogoče uporabiti samo IDE tretjih oseb |
Testiranje na podlagi podatkov je lažje izvesti, ker ima vgrajene globalne in lokalne podatkovne tabele . | Podatkovno preizkušanje je bolj okorno, saj se morate pri nastavljanju vrednosti za preskusne podatke zanašati na zmožnosti programskega jezika |
Lahko dostopa do kontrolnikov v brskalniku (kot so vrstica Priljubljene, Naslovna vrstica, gumbi Nazaj in naprej itd.) | Do elementov zunaj preizkušene spletne aplikacije ni mogoče dostopati |
Zagotavlja profesionalno podporo strankam | Uradna uporabniška podpora ni na voljo. |
Ima izvorno zmožnost izvoza testnih podatkov v zunanje formate | Nima izvorne zmožnosti izvoza podatkov izvajalnega okolja v zunanje formate |
Vgrajena je podpora za parametriranje | Parametriranje je mogoče izvesti s programiranjem, vendar je težko izvedljivo. |
Testna poročila se generirajo samodejno | Ni izvorne podpore za ustvarjanje poročil o preskusih / napakah. |
Čeprav ima QTP bolj napredne zmogljivosti, selenium odtehta QTP na treh glavnih področjih:
- Stroški (ker je selen popolnoma brezplačen)
- Prilagodljivost (zaradi številnih programskih jezikov, brskalnikov in platform, ki jih lahko podpira)
- Vzporedno testiranje (nekaj, za kar je zmožen QTP, vendar le z uporabo Centra kakovosti)
Povzetek
- Celoten paket za testiranje programske opreme Selenium je sestavljen iz štirih komponent:
- Selenium IDE, dodatek za Firefox, ki ga lahko uporabite le pri ustvarjanju razmeroma preprostih testnih primerov in testnih zbirk.
- Daljinski upravljalnik Selenium, znan tudi pod imenom Selenium 1, ki je prvo orodje Selenium, ki je uporabnikom omogočalo uporabo programskih jezikov pri ustvarjanju zapletenih testov.
- WebDriver, novejši preboj, ki omogoča testnim skriptom, da komunicirajo neposredno z brskalnikom in ga tako nadzorujejo z ravni OS.
- Selenium Grid je tudi orodje, ki se uporablja s Selenium RC za izvajanje vzporednih testov v različnih brskalnikih in operacijskih sistemih.
- Selenium RC in WebDriver sta bila združena, da sta nastala Selenium 2.
- Selen je bolj ugoden kot QTP glede stroškov in prilagodljivosti. Omogoča tudi vzporedno izvajanje preskusov, za razliko od QTP, kjer lahko preskuse izvajate le zaporedno.