Mikä on seleeni? Johdanto seleenin automaatiotestaukseen

Sisällysluettelo:

Anonim

Mikä on seleeni?

Selenium on ilmainen (avoimen lähdekoodin) automatisoitu testauskehys, jota käytetään validoimaan verkkosovelluksia eri selaimissa ja alustoilla. Voit käyttää useita ohjelmointikieliä, kuten Java, C #, Python jne., Selenium Test Scriptien luomiseen. Selenium-testaustyökalulla tehtyyn testaukseen viitataan yleensä nimellä Selenium Testing.

Selenium-ohjelmisto ei ole vain yksi työkalu, vaan ohjelmistopaketti, joista jokainen palvelee organisaation erilaisia ​​Selenium QA -testaustarpeita. Tässä on luettelo työkaluista

  • Seleenin integroitu kehitysympäristö (IDE)
  • Seleenikaukosäädin (RC)
  • WebDriver
  • Seleeniristikko
Johdanto seleeniin

Tällä hetkellä Selenium RC ja WebDriver on yhdistetty yhdeksi kehykseksi muodostaen Selenium 2: n . Seleeni 1, muuten, viittaa seleeni RC: hen.

Napsauta tätä, jos video ei ole käytettävissä

Tässä opetusohjelmassa opit:

  • Mikä on seleeni?
  • Kuka kehitti seleeniä?
  • Sama alkuperäkäytäntöongelma
  • Selenium-kaukosäätimen syntymä (Selenium RC)
  • Syntymä Selenium Grid
  • Syntynyt seleeni IDE
  • WebDriverin syntymä
  • Seleenin syntymä 2
  • Joten, miksi nimi seleeni?
  • Lyhyt esittely seleeni IDE
  • Lyhyt esittely seleenikaukosäädin (seleeni RC)
  • Lyhyt esittely WebDriver
  • Seleeniristikko
  • Huomautus selain- ja ympäristötuesta
  • Kuinka valita oikea seleenityökalu tarpeisiisi
  • Seleenin ja QTP: n (nyt UFT) vertailu
  • QTP: n edut seleeniin verrattuna

Kuka kehitti seleeniä?

Koska Selenium on kokoelma erilaisia ​​työkaluja, sillä oli myös erilaisia ​​kehittäjiä. Alla ovat avainhenkilöt, jotka tekivät merkittäviä panoksia Selenium-projektiin

Ensisijaisesti seleenin loi Jason Huggins vuonna 2004 . ThoughtWorksin insinööri työskenteli verkkosovelluksen parissa, joka vaati usein testausta. Tajuttuaan, että heidän sovellustensa toistuva manuaalinen testaus oli yhä tehottomampaa, hän loi JavaScript-ohjelman, joka hallisi automaattisesti selaimen toimintoja. Hän nimesi tämän ohjelman " JavaScriptTestRunneriksi ".

Nähdessään tämän idean mahdollisuuden auttaa automatisoimaan muita verkkosovelluksia, hän teki JavaScriptRunnerista avoimen lähdekoodin, joka myöhemmin nimettiin uudelleen nimellä Selenium Core .

Sama alkuperäkäytäntöongelma

Sama alkuperäkäytäntö kieltää JavaScript-koodin käyttämästä elementtejä verkkotunnuksesta, joka on erilainen kuin missä se käynnistettiin . Esimerkki: www.google.com-sivuston HTML-koodi käyttää JavaScript-ohjelmaa "randomScript.js". Sama alkuperäkäytäntö sallii randomScript.js: n käyttää vain google.com-sivuston sivuja, kuten google.com/mail, google.com/login tai google.com/signup. Se ei kuitenkaan pääse sivuille eri sivustoilta, kuten yahoo.com/search tai guru99.com, koska ne kuuluvat eri verkkotunnuksiin.

Tästä syystä testaajien oli ennen Selenium RC: tä asennettava sekä Selenium Core (JavaScript-ohjelma) että testattavan verkkosovelluksen sisältävä verkkopalvelin, jotta ne kuuluisivat samaan verkkotunnukseen

Selenium-kaukosäätimen syntymä (Selenium RC)

Valitettavasti; Selenium Coreia käyttävien testaajien oli asennettava koko testattava sovellus ja verkkopalvelin omille paikallisille tietokoneilleen saman alkuperäkäytännön asettamien rajoitusten vuoksi. Joten toinen ThoughtWorkin insinööri, Paul Hammant , päätti luoda palvelimen, joka toimii HTTP-välityspalvelimena "huijaamaan" selainta uskomaan, että Selenium Core ja testattava verkkosovellus tulevat samasta verkkotunnuksesta. Tämä järjestelmä tunnettiin nimellä Selenium Remote Control tai Selenium 1 .

Syntymä Selenium Grid

Patrick Lightbody on kehittänyt seleeniruudukon vastaamaan tarpeeseen minimoida testin suoritusajat mahdollisimman paljon. Aluksi hän kutsui järjestelmää " Hosted QA ". Se pystyi sieppaamaan selaimen kuvakaappauksia merkittävissä vaiheissa ja myös lähettämään Selenium-komentoja samanaikaisesti eri koneille.

Syntynyt seleeni IDE

Japanilainen Shinya Kasatani loi Selenium IDE: n , Firefox-laajennuksen, joka voi automatisoida selaimen tallennus- ja toisto-ominaisuuden avulla. Hän keksi tämän idean lisätäksesi nopeutta testitapausten luomisessa. Hän lahjoitti Selenium IDE: n Selenium-projektille vuonna 2006 .

WebDriverin syntymä

Simon Stewart luotu WebDriver noin vuonna 2006, kun selaimet ja verkkosovellukset olivat yhä tehokkaampia ja rajoittavampia JavaScript-ohjelmilla, kuten Selenium Core. Se oli ensimmäinen alustojen välinen testauskehys, joka pystyi hallitsemaan selainta käyttöjärjestelmän tasolla.

Seleenin syntymä 2


Vuonna 2008 koko Selenium-tiimi päätti yhdistää WebDriverin ja Selenium RC: n muodostaakseen tehokkaamman työkalun nimeltä Selenium 2 , jossa WebDriver on ydin . Tällä hetkellä Selenium RC: tä kehitetään edelleen, mutta vain huoltotilassa. Suurin osa Selenium-projektin ponnisteluista on nyt keskittynyt Selenium 2: een.

Joten, miksi nimi seleeni?

Nimi Selenium tuli vitsistä, jonka Jason mursi kerran joukkueelleen. Seleniumin kehityksen aikana suosittu toinen automatisoitu testauskehys oli Mercury Interactive -nimi (kyllä, yritys, joka alun perin valmisti QTP: n ennen kuin HP osti sen). Koska seleeni on tunnettu elohopeamyrkytyksen vastalääke, Jason ehdotti nimeä ja hänen joukkuetoverinsa ottivat sen. Joten meidän on kutsuttava tätä kehystä tähän päivään asti.

Lyhyt esittely seleeni IDE

Selenium Integrated Development Environment (IDE) on yksinkertaisin kehys Selenium-paketissa ja on helpoin oppia . Se on Firefox-laajennus , jonka voit asentaa yhtä helposti kuin muiden laajennusten kanssa. Selenium IDE: tä tulisi yksinkertaisuutensa vuoksi käyttää vain prototyyppityökaluna . Jos haluat luoda kehittyneempiä testitapauksia, sinun on käytettävä joko Selenium RC: tä tai WebDriveria.

Lyhyt esittely seleenikaukosäädin (seleeni RC)

Selenium RC oli pitkään koko Selenium-projektin lippulaivatestikehys . Tämä on ensimmäinen automaattinen verkkotestaustyökalu, jonka avulla käyttäjät voivat käyttää haluamaansa ohjelmointikieliä . Versiosta 2.25.0 lähtien RC tukee seuraavia ohjelmointikieliä:

  • Java
  • C #
  • PHP
  • Python
  • Perl
  • Rubiini

Lyhyt esittely WebDriver

WebDriver osoittautuu olevansa parempi kuin sekä Selenium IDE että Selenium RC monessa suhteessa. Se toteuttaa nykyaikaisemman ja vakaamman lähestymistavan selaimen toimintojen automatisoinnissa. Toisin kuin Selenium RC, WebDriver ei luota Selenium Automation -testauksen JavaScriptiin. Se ohjaa selainta kommunikoimalla suoraan sen kanssa.

Tuetut kielet ovat samat kuin Selenium RC: ssä.

  • Java
  • C #
  • PHP
  • Python
  • Perl
  • Rubiini

Seleeniristikko

Selenium Grid on työkalu, jota käytetään yhdessä Selenium RC: n kanssa rinnakkaistestien suorittamiseksi eri koneissa ja eri selaimissa samanaikaisesti. Rinnakkainen suoritus tarkoittaa useiden testien suorittamista kerralla.

Ominaisuudet:

  • Mahdollistaa samanaikaisen toiminnan testeissä vuonna useita selaimia ja ympäristöissä.
  • Säästää aikaa valtavasti.
  • Hyödyntää napa ja solmut -konseptia. Keskitin toimii seleenikomentojen keskeisenä lähteenä jokaiseen siihen liitettyyn solmuun.

Huomautus selain- ja ympäristötuesta

Arkkitehtuuristen erojensa vuoksi Selenium IDE, Selenium RC ja WebDriver tukevat erilaisia ​​selaimia ja käyttöympäristöjä.

Seleeni IDE WebDriver
Selaimen tuki Mozilla Firefox Internet Explorer -versiot 6–11, sekä 32- että 64-bittiset Microsoft Edgen versiot 12.10240 tai uudemmat (osittain tuetaan joitain kehitteillä olevia ominaisuuksia) Firefox 3.0 ja uudemmat Google Chrome 12.0. ja uudemmat Opera 11.5 ja uudemmat Android - 2.3 ja uudemmat puhelimille ja tableteille (laitteet ja emulaattorit) iOS 3+ puhelimille (laitteet ja emulaattorit) ja 3.2+ tabletit (laitteet ja emulaattorit) HtmlUnit 2.9 ja uudemmat
Käyttöjärjestelmä Windows, Mac OS X, Linux Kaikki käyttöjärjestelmät, joissa yllä olevat selaimet voivat toimia.

Huomaa: Selenium WebDriveria kutsutaan Selenium RC: n seuraajaksi, jonka SeleniumHQ on vanhentanut ja ilmoittanut virallisesti.

Kuinka valita oikea seleenityökalu tarpeisiisi

Työkalu Miksi valita?

Seleeni IDE

  • Lisätietoja automaattisen testauksen ja seleenin käsitteistä, mukaan lukien:
  • Selenese-komennot, kuten tyyppi, avaus, napsauta Ja odota, vahvista, tarkista jne.
  • Paikantimet, kuten tunnus, nimi, xpath, css-valitsin jne.
  • Mukautetun JavaScript-koodin suorittaminen runScriptin avulla
  • Testitapausten vienti eri muodoissa.
  • Luodaan testejä, joilla on vähän tai ei lainkaan ennakkotietoa ohjelmoinnista.
  • Voit luoda yksinkertaisia ​​testitapauksia ja testipaketteja, jotka voit viedä myöhemmin RC: hen tai WebDriveriin.
  • Verkkosovelluksen testaaminen vain Firefoxia ja Chromea vastaan.

Seleeni RC

  • Suunnitella testi käyttämällä selektiivisempää kieltä
  • Suorita testi eri selaimissa (paitsi HtmlUnit) eri käyttöjärjestelmissä.
  • Voit ottaa testisi käyttöön useissa ympäristöissä Selenium Grid -sovelluksen avulla.
  • Testata sovellustasi uudella selaimella, joka tukee JavaScriptiä.
  • Verkkosovellusten testaaminen monimutkaisilla AJAX-pohjaisilla skenaarioilla.

WebDriver

  • Tietyn ohjelmointikielen käyttäminen testitapauksen suunnittelussa.
  • Testata sovelluksia, joissa on runsaasti AJAX-pohjaisia ​​toimintoja.
  • Testien suorittaminen HtmlUnit-selaimella.
  • Mukautettujen testitulosten luominen.

Seleeniristikko

  • Suorita Selenium RC -skriptisi useissa selaimissa ja käyttöjärjestelmissä samanaikaisesti.
  • Laajan testipaketin suorittaminen on suoritettava mahdollisimman nopeasti.

Seleenin ja QTP: n (nyt UFT) vertailu

Quick Test Professional (QTP) on oma automaattinen testaustyökalu, jonka aiemmin omisti yritys Mercury Interactive, ennen kuin Hewlett-Packard osti sen vuonna 2006 . Selenium Tool Suite -sovelluksella on monia etuja QTP: hen nähden, kuten alla on kuvattu -

Seleenin edut ja edut QTP: hen verrattuna

Seleeni QTP
Avoin lähdekoodi , ilmainen ja ilmainen. Kaupallinen .
Erittäin laajennettavissa Rajoitetut lisäosat
Voi suorittaa testejä eri selaimissa Voi suorittaa testejä vain Firefoxissa , Internet Explorerissa ja Chromessa
Tukee erilaisia ​​käyttöjärjestelmiä Voidaan käyttää vain Windowsissa
Tukee mobiililaitteita QTP tukee mobiilisovellusten testausautomaatiota (iOS ja Android) käyttämällä HP-ratkaisua nimeltä - HP Mobile Center
Voi suorittaa testejä , kun selain minimoituu Testattavan sovelluksen on oltava näkyvissä työpöydällä
Voi suorittaa testejä rinnakkain . Voi suorittaa vain rinnakkain, mutta käyttämällä laatukeskusta, joka on jälleen maksettu tuote.

QTP: n edut seleeniin verrattuna

QTP: n edut seleeniin verrattuna
QTP Seleeni
Voi testata sekä web- että työpöytäsovelluksia Voi testata vain verkkosovelluksia
Mukana sisäänrakennettu objektivarasto Ei sisäänrakennettua objektivarastoa
Automatisoituu nopeammin kuin Selenium, koska se on täysin varusteltu IDE. Automatisoituu hitaammin, koska sillä ei ole alkuperäistä IDE: tä ja vain kolmannen osapuolen IDE: tä voidaan käyttää kehitykseen
Tietopohjainen testaus on helpompaa suorittaa, koska siinä on sisäänrakennetut globaalit ja paikalliset tietotaulukot . Tietopohjainen testaus on hankalampaa, koska joudut luottamaan ohjelmointikielen kykyihin asettaa arvot testitiedoillesi
Pääsee selaimen ohjaimiin (kuten Suosikkipalkki, Osoiterivi, Takaisin ja Eteenpäin-painikkeet jne.) Elementtejä ei voi käyttää testattavan verkkosovelluksen ulkopuolella
Tarjoaa ammattitaitoista asiakastukea Virallista käyttäjätukea ei tarjota.
Hänellä on alkuperäinen kyky viedä testitiedot ulkoisiin muotoihin Ei ole alkuperäistä kykyä viedä ajonaikaisia ​​tietoja ulkoisiin muotoihin
Parametrointituki on rakennettu Parametrointi voidaan tehdä ohjelmoinnin avulla, mutta sitä on vaikea toteuttaa.
Testiraportit luodaan automaattisesti Ei natiivia tukea testi- / virheraporttien luomiseen.

Vaikka QTP: llä on selvästi edistyneempiä ominaisuuksia, Selenium ylittää QTP: n kolmella pääalueella:

  • Kustannukset (koska seleeni on täysin ilmainen)
  • Joustavuus (useiden ohjelmointikielien, selainten ja alustojen takia, joita se voi tukea)
  • Rinnakkaistestaus (jotain, johon QTP pystyy, mutta vain käyttämällä laatukeskusta)

Yhteenveto

  • Koko Selenium Software Testing Suite koostuu neljästä osasta:
  • Selenium IDE, Firefox-lisäosa, jota voit käyttää vain suhteellisen yksinkertaisten testitapausten ja testipakettien luomiseen.
  • Selenium-kaukosäädin, joka tunnetaan myös nimellä Selenium 1, joka on ensimmäinen Selenium-työkalu, jonka avulla käyttäjät voivat käyttää ohjelmointikieliä monimutkaisten testien luomisessa.
  • WebDriver, uudempi läpimurto, jonka avulla testiskriptisi voivat kommunikoida suoraan selaimeen ja hallita sitä käyttöjärjestelmän tasolla.
  • Selenium Grid on myös työkalu, jota käytetään Selenium RC: n kanssa rinnakkaisten testien suorittamiseen eri selaimissa ja käyttöjärjestelmissä.
  • Selenium RC ja WebDriver yhdistettiin Selenium 2: ksi.
  • Seleeni on edullisempi kuin QTP kustannusten ja joustavuuden kannalta. Sen avulla voit suorittaa testejä samanaikaisesti, toisin kuin QTP: ssä, jossa testien saa suorittaa vain peräkkäin.