Articles

Ce este seleniul? Introducere în testarea automatizării seleniului

ce este seleniul?

seleniul este un cadru gratuit (open-source) de testare automată utilizat pentru a valida aplicații web în diferite browsere și platforme. Puteți utiliza mai multe limbaje de programare precum Java, C#, Python etc. pentru a crea scripturi de testare Selenium. Testarea efectuată utilizând instrumentul de testare a seleniului este de obicei denumită testare a seleniului.

Selenium Software nu este doar un singur instrument, ci o suită de software, fiecare piesă de catering la diferite Selenium QA nevoile de testare ale unei organizații. Aici este lista de instrumente

  • seleniu mediu de dezvoltare integrat (IDE)
  • seleniu Control de la distanță (RC)
  • WebDriver
  • seleniu Grid

Introducere la seleniu
introducere în seleniu

în acest moment, Selenium RC și webdriver sunt îmbinate într-un singur cadru pentru a forma seleniu 2. Seleniul 1, apropo, se referă la seleniul RC.

Faceți clic aici dacă videoclipul nu este accesibil

în acest tutorial, veți învăța:

  • ce este seleniul?
  • cine a dezvoltat seleniu?
  • aceeași problemă Politica de origine
  • nașterea de control de la distanță seleniu (seleniu RC)
  • nașterea seleniu grilă
  • nașterea seleniu IDE
  • nașterea WebDriver
  • nașterea seleniu 2
  • deci, de ce numele seleniu?
  • scurtă introducere Selenium IDE
  • scurtă introducere Selenium Remote Control (seleniu RC)
  • scurtă introducere WebDriver
  • Selenium Grid
  • notă privind suportul pentru Browser și mediu
  • cum să alegeți instrumentul potrivit pentru seleniu pentru nevoia dvs.
  • o comparație între seleniu și QTP(acum UFT)
  • avantajele QTP față de seleniu

cine a dezvoltat seleniu?

deoarece seleniul este o colecție de instrumente diferite, a avut și dezvoltatori diferiți. Mai jos sunt persoanele cheie care au adus contribuții notabile la proiectul Selenium

Introducere în Selenium

td în primul rând, seleniul a fost creat de Jason Huggins în 2004. Inginer la ThoughtWorks, lucra la o aplicație web care necesita teste frecvente. După ce și-a dat seama că testarea manuală repetată a aplicației lor devenea din ce în ce mai ineficientă, a creat un program JavaScript care să controleze automat acțiunile browserului. El a numit acest program ca ” JavaScriptTestRunner.”

văzând potențialul în această idee de a ajuta la automatizarea altor aplicații web, el a făcut JavaScriptRunner open-source, care mai târziu a fost redenumit ca Selenium Core.

aceeași problemă a Politicii de origine

aceeași politică de origine interzice codului JavaScript să acceseze elemente dintr-un domeniu diferit de locul în care a fost lansat. Exemplu, codul HTML în www.google.com utilizează un program JavaScript ” randomScript.js”. Aceeași politică de origine va permite doar randomScript.js pentru a accesa paginile din google.com cum ar fi google.com/mail, google.com/login, sau google.com/signup. cu toate acestea, nu poate accesa pagini de pe diferite site-uri, cum ar fi yahoo.com/search sau guru99.com pentru că aparțin unor domenii diferite.

Introducere în Selenium

acesta este motivul pentru care înainte de Selenium RC, testerii trebuiau să instaleze copii locale atât ale Selenium Core (un program JavaScript), cât și ale serverului web care conține aplicația web testată, astfel încât să aparțină aceluiași domeniu

nașterea telecomenzii Selenium (Selenium RC)

introducere în seleniu

Din păcate; testerii care utilizează Selenium Core au trebuit să instaleze întreaga aplicație testată și serverul web pe propriile computere locale din cauza restricțiilor impuse de aceeași politică de origine. Așadar, un alt inginer al ThoughtWork, Paul Hammant, a decis să creeze un server care să acționeze ca un proxy HTTP pentru a „păcăli” browserul să creadă că Selenium Core și aplicația web testată provin din același domeniu. Acest sistem a devenit cunoscut sub numele de Selenium Remote Control sau Selenium 1.

nașterea seleniului Grid

Introducere în seleniul

seleniul Grid a fost dezvoltat de Patrick Lightbody pentru a răspunde nevoii de a minimiza timpii de execuție a testelor cât mai mult posibil. El a numit inițial sistemul ” găzduit QA.”A fost capabil să capteze capturi de ecran ale browserului în etape semnificative și, de asemenea, să trimită simultan comenzi Selenium către diferite mașini.

nașterea Selenium IDE

Introducere în Selenium

Shinya Kasatani din Japonia a creat Selenium IDE, o extensie Firefox care poate automatiza browserul printr-o caracteristică de înregistrare și redare. El a venit cu această idee pentru a crește în continuare viteza în crearea cazurilor de testare. El a donat Selenium IDE proiectului Selenium în 2006.

nașterea WebDriver

Introducere în seleniu Simon Stewart a creat WebDriver circa 2006 când browserele și aplicațiile web au devenit mai puternice și mai restrictive cu programe JavaScript precum Selenium Core. A fost primul cadru de testare cross-platform care ar putea controla browserul de la nivelul sistemului de operare.

nașterea Selenium 2

În 2008, întreaga echipă Selenium a decis să fuzioneze WebDriver și Selenium RC Pentru a forma un instrument mai puternic numit Selenium 2, WebDriver fiind nucleul. În prezent, Selenium RC este încă în curs de dezvoltare, dar numai în modul de întreținere. Majoritatea eforturilor proiectului Selenium se concentrează acum pe Selenium 2.

deci, de ce numele seleniu?

numele Selenium a venit dintr-o glumă pe care Jason a spart-o odată echipei sale. În timpul dezvoltării Selenium, un alt cadru de testare automată a fost popular realizat de compania numită Mercury Interactive (da, compania care a făcut inițial QTP înainte de a fi achiziționată de HP). Deoarece seleniul este un antidot binecunoscut pentru otrăvirea cu mercur, Jason a sugerat că numele și colegii săi l-au luat. Așa am ajuns să numim acest cadru până în prezent.

originea numelui Selenium framework

scurtă introducere Selenium IDE

Selenium Integrated Development Environment (IDE) este cel mai simplu cadru din suita Selenium și este cel mai ușor de învățat. Este un plugin Firefox pe care îl puteți instala cât mai ușor cu alte pluginuri. Cu toate acestea, datorită simplității sale, Selenium IDE ar trebui utilizat doar ca instrument de prototipare. Dacă doriți să creați cazuri de testare mai avansate, va trebui să utilizați fie Selenium RC, fie WebDriver.

Pro și contra Selenium IDE

scurtă introducere Selenium Remote Control (Selenium RC)

Selenium RC a fost cadrul pilot de testare a întregului proiect Selenium pentru o lungă perioadă de timp. Acesta este primul instrument automat de testare web care a permis utilizatorilor să utilizeze un limbaj de programare pe care îl preferă. Începând cu versiunea 2.25.0, RC poate suporta următoarele limbaje de programare:

  • Java
  • C#
  • PHP
  • Python
  • Perl
  • Ruby

Pro și contra de seleniu RC

scurtă introducere WebDriver

webdriver-ul se dovedește a fi mai bun decât Selenium IDE și Selenium RC în multe aspecte. Implementează o abordare mai modernă și mai stabilă în automatizarea acțiunilor browserului. WebDriver, spre deosebire de Selenium RC, nu se bazează pe JavaScript pentru testarea Selenium Automation. Controlează browserul comunicând direct cu acesta.

limbile acceptate sunt aceleași cu cele din Selenium RC.

  • Java
  • C#
  • PHP
  • Python
  • Perl
  • Ruby

Pro și contra Selenium Webdriver

Selenium Grid

selenium Grid este un instrument utilizat împreună cu Selenium RC Pentru a rula teste paralele pe diferite mașini și browsere diferite, toate în același timp. Executarea paralelă înseamnă rularea mai multor teste simultan.

caracteristici:

  • permite rularea simultană a testelor în mai multe browsere și medii.
  • economisește timp enorm.
  • utilizează conceptul hub-and-nodes. Hub-ul acționează ca o sursă centrală de comenzi de seleniu pentru fiecare nod conectat la acesta.

notă privind suportul pentru Browser și mediu

datorită diferențelor lor arhitecturale, Selenium IDE, Selenium RC și WebDriver acceptă diferite seturi de browsere și medii de operare.

Selenium IDE WebDriver
Browser Support Mozilla Firefox Internet Explorer versions 6 to 11, both 32 and 64-bit
Microsoft Edge version 12.10240 & above ( partial support some functionalities under development)
Firefox 3.0 and above
Google Chrome 12.0. and above
Opera 11.5 and above
Android – 2.3 și mai sus pentru telefoane și tablete
(dispozitive & emulatoare)
iOS 3+ pentru telefoane (dispozitive & emulatoare) și 3.2+ Pentru tablete (dispozitive & emulatoare)
HtmlUnit 2.9 și mai sus
sistem de operare Windows, Mac OS X, Linux toate sistemele de operare unde pot rula browserele de mai sus.

notă: Selenium WebDriver este denumit succesorul Selenium RC care a fost depreciat & anunțat oficial de SeleniumHQ.

Cum de a alege instrumentul de seleniu potrivit pentru nevoia ta

instrument
de ce să alegeți?

Selenium IDE

  • To learn about concepts on automated testing and Selenium, including:
  • Selenese commands such as type, open, clickAndWait, assert, verify, etc.
  • Locators such as id, name, xpath, css selector, etc.
  • Executing customized JavaScript code using runScript
  • Exporting test cases in various formats.
  • pentru a crea teste cu puțin sau deloc cunoștințe anterioare în programare.
  • pentru a crea cazuri de testare simple și apartamente de testare pe care le puteți exporta mai târziu la RC sau WebDriver.
  • pentru a testa o aplicație web împotriva Firefox și Chrome numai.

Selenium RC

  • pentru a proiecta un test folosind un limbaj mai expresiv decât Seleneza
  • pentru a rula testul împotriva diferitelor browsere (cu excepția HtmlUnit) pe diferite sisteme de operare.
  • pentru a implementa testele pe mai multe medii folosind Selenium Grid.
  • pentru a testa aplicația împotriva unui nou browser care acceptă JavaScript.
  • pentru a testa aplicații web cu scenarii complexe bazate pe AJAX.

WebDriver

  • pentru a utiliza un anumit limbaj de programare în proiectarea cazului dvs. de testare.
  • pentru a testa aplicații care sunt bogate în funcționalități bazate pe AJAX.
  • pentru a executa teste pe browser-ul HtmlUnit.
  • pentru a crea rezultate de testare personalizate.

Selenium Grid

  • pentru a rula scripturile Selenium RC în mai multe browsere și sisteme de operare simultan.
  • pentru a rula o suită de testare imens, care are nevoie pentru a finaliza în cel mai scurt timp posibil.

o comparație între seleniu și QTP(acum UFT)

Quick Test Professional(QTP) este un instrument de testare automată proprietar deținut anterior de compania Mercury Interactive înainte de a fi achiziționat de Hewlett-Packard în 2006. Suita de instrumente Selenium are multe avantaje față de QTP așa cum este detaliat mai jos –

avantajele și beneficiile seleniului față de QTP

seleniu
QTP
open source, gratuit și gratuit. comercial.
extrem de extensibil suplimente limitate
poate rula teste pe diferite browsere poate rula teste numai în Firefox, Internet Explorer și Chrome
suportă diverse sisteme de operare poate fi utilizat numai în Windows
suportă dispozitive mobile QTP acceptă automatizarea testelor pentru aplicații mobile (iOS & Android) folosind soluția HP numită-HP Mobile Center
poate executa teste în timp ce browserul este minimizat trebuie să aibă aplicația sub test pentru a fi vizibil pe desktop
poate executa teste în paralel. poate executa numai în paralel, dar folosind Quality Center, care este din nou un produs plătit.

Advantages of QTP over Selenium

Advantages of QTP over Selenium
QTP
Selenium
Can test both web and desktop applications Can only test web applications
Comes with a built-in object repository Has no built-in object repository
automatizează mai repede decât seleniul, deoarece este un IDE complet echipat. automatizează într-un ritm mai lent, deoarece nu are un IDE nativ și numai IDE terță parte poate fi utilizat pentru dezvoltare
testarea bazată pe date este mai ușor de efectuat, deoarece are tabele de date globale și locale încorporate. testarea bazată pe date este mai greoaie, deoarece trebuie să vă bazați pe capacitățile limbajului de programare pentru setarea valorilor pentru datele dvs. de testare
poate accesa comenzile din browser(cum ar fi Bara favorite, Bara de adrese, butoanele Înapoi și înainte etc.) nu pot accesa elemente din afara aplicației web testate
oferă asistență profesională pentru clienți nu se oferă asistență oficială pentru utilizatori.
are capacitatea nativă de a exporta datele de testare în formate externe nu are capacitatea nativă de a exporta date de rulare pe formate externe
parametrizarea este construită parametrizarea se poate face prin programare, dar este dificil de implementat.
rapoartele de testare sunt generate automat nu există suport nativ pentru a genera rapoarte de testare / erori.

deși în mod clar, QTP are capacități mai avansate, seleniul depășește QTP în trei domenii principale:

  • Cost(deoarece seleniul este complet gratuit)
  • flexibilitate(din cauza unui număr de limbaje de programare, browsere și platforme pe care le poate suporta)
  • testare paralelă(ceva de care QTP este capabil, dar numai cu utilizarea centru)

rezumat

  • întreaga suită de testare software Selenium este compusă din patru componente:
  • Selenium IDE, un add-on Firefox pe care îl puteți utiliza numai pentru a crea cazuri de testare relativ simple și suite de testare.
  • Selenium Remote Control, cunoscut și sub numele de Selenium 1, Care este primul instrument Selenium care a permis utilizatorilor să utilizeze limbaje de programare în crearea de teste complexe.
  • WebDriver, noua descoperire care permite scripturilor de testare să comunice direct browserului, controlându-l astfel de la nivelul sistemului de operare.
  • Selenium Grid este, de asemenea, un instrument care este utilizat cu Selenium RC Pentru a executa teste paralele pe diferite browsere și sisteme de operare.
  • seleniu RC și WebDriver a fost fuzionat pentru a forma seleniu 2.
  • seleniul este mai avantajos decât QTP în ceea ce privește costurile și flexibilitatea. De asemenea, vă permite să rulați teste în paralel, spre deosebire de QTP, unde aveți voie să rulați teste secvențial.