Mikä on Selenium? Esittely Selenium Automaatiotestaus

Mikä on Selenium?

Selenium on ilmainen (avoimen lähdekoodin) automaattinen testauskehys, jota käytetään verkkosovellusten validointiin eri selaimilla ja alustoilla. Voit käyttää useita ohjelmointikieliä, kuten Java, C#, Pythontms Selenium Testaa komentosarjoja. Testaus tehty käyttämällä Selenium testaustyökalua kutsutaan yleensä nimellä Selenium Testaus.

Selenium Tool Suite

Selenium Ohjelmisto ei ole vain yksi työkalu, vaan ohjelmistosarja, jonka jokainen osa palvelee erilaisia Selenium Organisaation QA-testauksen tarpeet. Tässä on luettelo työkaluista

  • Selenium Integroitu kehitysympäristö (IDE)
  • Selenium Kaukosäädin (RC)
  • web-ajuri
  • Selenium ruudukko

Selenium Tool Suite

Tällä hetkellä, Selenium RC ja WebDriver yhdistetään yhdeksi kehykseksi Selenium 2. Selenium 1 muuten viittaa Selenium RC.

Opetusohjelmavideot Selenium

Napauta tätä jos video ei ole saatavilla

Kuka kehitti Selenium?

Koska Selenium on kokoelma erilaisia ​​työkaluja, ja sillä oli myös erilaisia ​​kehittäjiä. Alla on avainhenkilöt, jotka ovat antaneet merkittävän panoksen Selenium projekti

kehitettiin Selenium

Ensisijaisesti Selenium oli loi Jason Huggins vuonna 2004. ThoughtWorksin insinöörinä hän työskenteli verkkosovelluksen parissa, joka vaati usein testausta. Tajusiaan, että heidän sovelluksensa toistuvasta manuaalisesta testauksesta oli tulossa yhä tehottomaksi, hän loi a JavaKäsikirjoitus ohjelma, joka ohjaa automaattisesti selaimen toimintoja. Hän nimesi tämän ohjelman "JavaScriptTestRunner"

Hän näki tämän idean potentiaalin automatisoida muita verkkosovelluksia JavaScriptRunner avoimen lähdekoodin, joka myöhemmin nimettiin uudelleen Selenium Ydin. Jos olet kiinnostunut tutkimaan muita verkkosovellusten testausvaihtoehtoja, katso nämä Selenium vaihtoehdot.

Sama alkuperäpolitiikka

Sama alkuperäpolitiikka kieltää JavaKomentosarjakoodi, joka ei pääse käyttämään elementtejä verkkotunnuksesta, joka poikkeaa siitä, missä se käynnistettiin. Esimerkki: www.google.comin HTML-koodi käyttää a JavaKomentosarjaohjelma "randomScript.js". Sama alkuperäkäytäntö sallii vain randomScript.js:n pääsyn google.comin sivuille, kuten google.com/mail, google.com/login tai google.com/signup. Se ei kuitenkaan voi käyttää sivuja eri sivustoilta, kuten yahoo.com/search tai guru99.com, koska ne kuuluvat eri verkkotunnuksiin.

Sama alkuperäpolitiikka

Tästä syystä ennen Selenium RC, testaajia tarvitaan asentamaan paikalliset kopiot molemmista Selenium Ydin (a JavaScript-ohjelma) ja testattavan verkkosovelluksen sisältävä verkkopalvelin, jotta ne kuuluisivat samaan toimialueeseen

Syntymä Selenium Kaukosäädin (Selenium RC)

Paul Hammant

Valitettavasti; testaajat käyttävät Selenium Coren täytyi asentaa koko testattava sovellus ja web-palvelin omille paikallisille tietokoneilleen ohjelman asettamien rajoitusten vuoksi. samaa alkuperäpolitiikkaa. Joten toinen ThoughtWorkin insinööri, Paul Hammant, päätti luoda palvelimen, joka toimii HTTP-välityspalvelimena "huijatakseen" selaimen uskomaan niin Selenium Core ja testattava verkkosovellus tulevat samasta toimialueesta. Tämä järjestelmä tuli tunnetuksi nimellä Selenium Kaukosäädin or Selenium 1.

Syntymä Selenium ruudukko

Patrick Lightbody

Selenium Gridin on kehittänyt Patrick Lightbody vastata tarpeeseen minimoida testin suoritusajat mahdollisimman paljon. Hän kutsui järjestelmää aluksi "Isännöi QA.” Se pystyi kaappaamaan selaimen kuvakaappauksia merkittävissä vaiheissa ja myös lähettää Selenium komentoja eri koneille samanaikaisesti.

Syntymä Selenium IDE

Shinya Kasatani

Shinya Kasatani Japanin luotu Selenium IDE, The Firefox ja Chrome-laajennus, joka voi automatisoida selaimen tallennus- ja toistoominaisuuden avulla. Hän keksi tämän idean nopeuttaakseen edelleen testitapausten luomista. Hän lahjoitti Selenium IDE Selenium Projekti sisään 2006.

WebDriverin syntymä

Simon Stewart

Simon Stewart luotu WebDriver noin 2006 kun selaimet ja verkkosovellukset olivat tulossa tehokkaammiksi ja rajoittavammiksi JavaKäsikirjoitusohjelmat, kuten Selenium Ydin. Se oli ensimmäinen alustojen välinen testauskehys, joka pystyi ohjaamaan selainta käyttöjärjestelmätasolta.

Syntymä Selenium 2

In 2008, Koko Selenium Tiimi päätti yhdistää WebDriverin ja Selenium RC muodostaa tehokkaamman työkalun nimeltä Selenium 2, kanssa WebDriver on ydin. Tällä hetkellä, Selenium RC:tä kehitetään edelleen, mutta vain huoltotilassa. Suurin osa Selenium Hankkeen ponnistelut ovat nyt keskittyneet Selenium 2.

Joten, miksi nimi Selenium?

Nimi Selenium tuli vitsistä, jonka Jason iski kerran tiimilleen. Aikana Seleniumn kehitystä, toinen automatisoitu testaus kehys oli suosittu, jonka teki yritys nimeltä Mercury Interaktiivinen (kyllä, yritys, joka alun perin teki QTP:n ennen kuin HP osti sen). Siitä asti kun Selenium on tunnettu vastalääke Mercury myrkytys, Jason ehdotti tätä nimeä ja hänen joukkuetoverinsa ottivat sen. Joten näin meidän on kutsuttava tätä kehystä nykypäivään asti.

Miksi Nimi Selenium

Mikä on Selenium IDE?

Selenium Integrated Development Environment (IDE) on yksinkertaisin kehys vuonna Selenium sviitti ja on helpoin oppia. Se on a Chrome ja Firefox kytkeä jonka voit asentaa yhtä helposti kuin muiden lisäosien kanssa. Kuitenkin sen yksinkertaisuuden vuoksi Selenium IDE:tä tulee käyttää vain a prototyyppityökalu. Jos haluat luoda kehittyneempiä testitapauksia, sinun on käytettävä jompaakumpaa Selenium RC tai WebDriver.

Selenium IDE

Mikä on Selenium Kaukosäädin (Selenium RC)?

Selenium RC oli lippulaivatestauskehys kokonaisuudesta Selenium projektia pitkäksi aikaa. Tämä on ensimmäinen automatisoitu verkkotestaus työkalu avulla käyttäjät voivat käyttää haluamaansa ohjelmointikieltä. Versiosta 2.25.0 alkaen RC voi tukea seuraavia ohjelmointikieliä:

Selenium Kaukosäädin (Selenium RC)

Mikä on WebDriver?

WebDriver osoittautuu paremmaksi kuin Selenium IDE ja Selenium RC monessa suhteessa. Se toteuttaa nykyaikaisemman ja vakaamman lähestymistavan selaimen toimintojen automatisoinnissa. WebDriver, toisin kuin Selenium RC, ei luota JavaKäsikirjoitus Selenium Automaatiotestaus. Se ohjaa selainta kommunikoimalla suoraan sen kanssa.

Tuetut kielet ovat samat kuin kielet Selenium RC.

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

Web-ohjain

Mikä on Selenium Verkko?

Selenium Grid on työkalu käytetään yhdessä Selenium RC juoksemaan rinnakkaiset testit eri koneilla ja eri selaimilla samanaikaisesti. Rinnakkaissuoritus tarkoittaa useiden testien suorittamista kerralla.

Ominaisuudet:

  • mahdollistaa testien samanaikainen suorittaminen in useita selaimia ja ympäristöjä.
  • Säästää aikaa valtavasti.
  • Hyödyntää keskitin ja solmut konsepti. Keskitin toimii keskeisenä lähteenä Selenium komennot jokaiselle siihen yhdistetylle solmulle.

Selenium Selain- ja ympäristötuki

Niiden arkkitehtonisten erojen vuoksi Selenium SDI, Selenium RC ja WebDriver tukevat erilaisia ​​selaimia ja käyttöympäristöjä.

  Selenium IDE web-ajuri
Selaintuki mozilla Firefox ja Chrome

Google Chrome 12+

Firefox

Internet Explorer 7+ ja Edge

Safari, 

HtmlUnit ja PhantomUnit

Operating System Windows, Mac OS X, Linux Kaikki käyttöjärjestelmät, joissa yllä olevat selaimet voivat toimia.

Huomautus: Opera Kuljettaja ei enää toimi

Kuinka valita oikea Selenium Työkalu tarpeisiisi

Työkalu Miksi valita?
Selenium IDE
  • Opi automatisoidun testauksen käsitteistä ja Selenium, Mukaan lukien:
  • Seleeniset komennot, kuten kirjoita, avaa, napsauta ja odota, vahvista, vahvista jne.
  • Paikarit, kuten id, nimi, xpath, css-valitsin jne.
  • Toteutus räätälöitynä JavaSkriptikoodi runScriptillä
  • Testitapausten vienti eri muodoissa.
  • Luoda testejä, joilla on vähän tai ei lainkaan aiempaa ohjelmointitietoa.
  • Voit luoda yksinkertaisia ​​testitapauksia ja testipaketteja, jotka voit viedä myöhemmin RC- tai WebDriveriin.
  • Verkkosovelluksen testaamiseen Firefox ja vain Chrome.
Selenium RC
  • Suunnittele testi käyttämällä ilmaisuvoimaisempaa kieltä kuin seleenia
  • Testin suorittaminen eri selaimilla (paitsi HtmlUnitilla) eri käyttöjärjestelmissä.
  • Voit ottaa testit käyttöön useissa ympäristöissä käyttämällä Selenium Ruudukko.
  • Testaaksesi sovelluksesi uuteen selaimeen, joka tukee JavaSkripti.
  • Verkkosovellusten testaamiseen monimutkaisilla AJAX-pohjaisilla skenaarioilla.
web-ajuri
  • Tietyn ohjelmointikielen käyttäminen testitapauksen suunnittelussa.
  • Testaa sovelluksia, joissa on runsaasti AJAX-pohjaisia ​​toimintoja.
  • Testien suorittaminen HtmlUnit-selaimella.
  • Voit luoda mukautettuja testituloksia.
Selenium ruudukko
  • Ajaaksesi sinun Selenium RC-komentosarjat useissa selaimissa ja käyttöjärjestelmissä samanaikaisesti.
  • Valtavan testisarjan suorittaminen edellyttää, että se on valmis mahdollisimman pian.

Vertailu välillä Selenium ja QTP (nyt UFT)

Quick Test Professional (QTP) on yrityksen aiemmin omistama automaattinen testaustyökalu Mercury Interaktiivinen ennen kuin Hewlett-Packard osti sen vuonna 2006. Sen myöhempi omistaja on MicroFocus ja työkalu nimettiin uudelleen UFT one. The Selenium Tool Suitella on monia etuja verrattuna  QTP kuten alla on kuvattu -

Edut ja edut Selenium QTP:n yli

Selenium QTP
Avoin lähdekoodi, vapaasti käytettäväja ilmainen. Kaupallinen.
Erittäin laajennettavissa Rajoitettu lisäosia
Voi suorittaa testejä poikki eri selaimet Voidaan suorittaa vain testejä Firefox, Internet Explorer ja kromi
Tukee erilaisia ​​käyttöjärjestelmiä Voidaan käyttää vain Windows
Tukee mobiililaitteet QTP tukee mobiilisovellusten testausautomaatiota (iOS ja Android) käyttämällä HP:n ratkaisua nimeltä – HP Mobile Center
Osaa suorittaa testejä vaikka Ishayoiden opettaman selain on minimoitu Sovelluksen on oltava testattavana, jotta se näkyy työpöydällä
Osaa suorittaa testejä rinnakkain. Voi suorittaa vain rinnakkain, mutta käyttämällä Quality Centeriä, joka on jälleen maksullinen tuote.

QTP:n edut verrattuna Selenium

QTP Selenium
Saa testata sekä web- että työpöytäsovelluksia Voi vain testata verkkosovelluksia
Mukana a sisäänrakennettu objektivarasto Siinä ei ole 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ää kehittämiseen.
Datalähtöinen testaus on helpompi suorittaa, koska siinä on sisäänrakennetut globaalit ja paikalliset tietotaulukot. Tietoihin perustuva testaus on hankalampaa, koska joudut luottamaan ohjelmointikielen kykyihin asettaaksesi arvoja testidatallesi
Voi käyttää selaimen säätimiä(kuten Suosikit-palkki, osoitepalkki, Takaisin- ja Eteenpäin-painikkeet jne.) Testattavan verkkosovelluksen ulkopuolisia elementtejä ei voi käyttää
Tarjoaa ammattimaista asiakastuki Virallista käyttäjätukea ei tarjota.
On natiivi kyky viedä testitietoja ulkoisiin muotoihin Sillä ei ole alkuperäistä kykyä viedä ajonaikaista dataa ulkoisiin muotoihin
Parametrisointituki on rakennettu Parametrisointi voidaan tehdä ohjelmoimalla, mutta sitä on vaikea toteuttaa.
Testiraportit luodaan automaattisesti Ei natiivitukea testi-/vikaraporttien luomiseen.

Vaikka selvästikin QTP:llä on kehittyneempiä ominaisuuksia, Selenium ylittää QTP:n kolmella pääalueella:

  • Hinta(koska Selenium on täysin ilmainen)
  • Joustavuus(johtuen useista ohjelmointikielistä, selaimista ja alustoista, joita se voi tukea)
  • Rinnakkainen testaus(jotain, mihin QTP pystyy, mutta vain Quality Centerin avulla)

Yhteenveto

  • Koko Selenium Software Testing Suite koostuu neljästä osasta:
  • Selenium IDE, a Firefox ja kromi-lisäosa, jota voit käyttää vain suhteellisen yksinkertaisten testitapausten ja testipakettien luomiseen.
  • Selenium Kaukosäädin, joka tunnetaan myös nimellä Selenium 1, on ensimmäinen Selenium työkalu, jonka avulla käyttäjät voivat käyttää ohjelmointikieliä monimutkaisten testien luomiseen.
  • WebDriver on uudempi läpimurto, jonka avulla testiskriptit voivat kommunikoida suoraan selaimeen ja siten ohjata sitä käyttöjärjestelmätasolta.
  • Selenium Grid on myös työkalu, jota käytetään Selenium RC suorittaa rinnakkaisia ​​testejä eri selaimissa ja käyttöjärjestelmissä.
  • Selenium RC ja WebDriver yhdistettiin muotoon Selenium 2.
  • Selenium on edullisempi kuin Microfocus UFT One kustannusten ja joustavuuden suhteen.