Kaj je selen? Uvod v testiranje avtomatizacije selena

Kazalo:

Anonim

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
Uvod v selen

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

  • Spoznati koncepte avtomatiziranega testiranja in selena, vključno z:
  • Ukazi selenese, kot so tip, odpri, klik in čakaj, uveljavi, preveri itd.
  • Lokatorji, kot so id, ime, xpath, izbirnik css itd.
  • Izvajanje prilagojene kode JavaScript z uporabo programa RunScript
  • Izvažanje testnih primerov v različne formate.
  • Ustvariti teste z malo ali nič predznanja iz programiranja.
  • Če želite ustvariti preproste testne primere in testne pakete, ki jih lahko pozneje izvozite v RC ali WebDriver.
  • Če želite preizkusiti spletno aplikacijo samo proti Firefoxu in Chromu.

Selen RC

  • Za oblikovanje testa z uporabo bolj izrazitega jezika kot selenese
  • Za zagon preizkusa v različnih brskalnikih (razen HtmlUnit) v različnih operacijskih sistemih.
  • Če želite svoje teste razporediti v več okolij s pomočjo Selenium Grid.
  • Če želite preizkusiti svojo aplikacijo v novem brskalniku, ki podpira JavaScript.
  • Za preizkušanje spletnih aplikacij s kompleksnimi scenariji, ki temeljijo na AJAX.

WebDriver

  • Za uporabo določenega programskega jezika pri oblikovanju vašega testnega primera.
  • Za preizkušanje aplikacij, ki so bogate s funkcijami, ki temeljijo na AJAX.
  • Za izvajanje testov v brskalniku HtmlUnit.
  • Če želite ustvariti prilagojene rezultate testa.

Selenova mreža

  • Za zagon skriptov Selenium RC v več brskalnikih in operacijskih sistemih hkrati.
  • Če želite zagnati ogromen testni paket, ga morate opraviti v najkrajšem možnem času.

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

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.