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

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 |
|
Seleeni RC |
|
WebDriver |
|
Seleeniristikko |
|
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 | 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.