Mis on seleen?
Seleen on tasuta (avatud lähtekoodiga) automatiseeritud testimisraamistik, mida kasutatakse veebirakenduste valideerimiseks erinevates brauserites ja platvormides. Seleeni testiskriptide loomiseks võite kasutada mitut programmeerimiskeelt, näiteks Java, C #, Python jne. Seleeni testimisvahendi abil tehtud testimisele viidatakse tavaliselt kui seleeni testimisele.
Seleenitarkvara ei ole lihtsalt üks tööriist, vaid tarkvarakomplekt, millest igaüks vastab organisatsiooni erinevatele seleeni kvaliteedi tagamise testimise vajadustele. Siin on tööriistade loend
- Seleeni integreeritud arenduskeskkond (IDE)
- Seleeni kaugjuhtimispult (RC)
- Veebidraiver
- Seleenivõrk

Praegu on Selenium RC ja WebDriver ühendatud ühte raamistikku, moodustades Selenium 2 . Seleen 1, muide, viitab seleen RC-le.
Kui videole pole juurdepääsu, klõpsake siin
Selles õpetuses saate teada:
- Mis on seleen?
- Kes arendas seleeni?
- Sama päritolupoliitika probleem
- Seleenipuldi (Selenium RC) sünd
- Seleenivõrgu sünd
- Seleeni IDE sünd
- WebDriveri sünd
- Seleeni sünd 2
- Niisiis, miks seleeni nimi?
- Lühitutvustus Seleen IDE
- Lühitutvustus Seleeni kaugjuhtimispult (Selenium RC)
- Lühitutvustus WebDriver
- Seleenivõrk
- Märkus brauseri ja keskkonnatoe kohta
- Kuidas valida oma vajadustele sobiv seleenivahend
- Seleeni ja QTP (nüüd UFT) võrdlus
- QTP eelised seleeni ees
Kes arendas seleeni?
Kuna seleen on erinevate tööriistade kogu, oli sellel ka erinevaid arendajaid. Allpool on toodud peamised isikud, kes panustasid märkimisväärselt Seleeni projekti
Peamiselt lõi seleeni Jason Huggins 2004. aastal . ThoughtWorksi insener töötas ta veebirakenduse kallal, mis nõudis sagedast testimist. Mõistnud, et nende rakenduste korduv käsitsi testimine muutus üha ebaefektiivsemaks, lõi ta JavaScripti programmi, mis kontrollib automaatselt brauseri toiminguid. Ta nimetas selle programmi " JavaScriptTestRunneriks ". Nähes selle idee potentsiaali teiste veebirakenduste automatiseerimisel, tegi ta JavaScripti jooksja avatud lähtekoodiga, mis hiljem nimetati uuesti Selenium Core'iks . |
Sama päritolupoliitika probleem
Sama päritolu poliitika keelab JavaScripti koodil juurdepääsu elementidele domeenist, mis erineb selle käivitamise kohast . Näiteks kasutab saidi www.google.com HTML-kood JavaScripti programmi "randomScript.js". Sama päritolupoliitika lubab randomScript.js-il juurdepääsu ainult google.com-i lehtedele, näiteks google.com/mail, google.com/login või google.com/signup. Kuid see ei pääse juurde erinevate saitide lehtedele, näiteks yahoo.com/search või guru99.com, kuna need kuuluvad erinevatesse domeenidesse.
See on põhjus, miks testijad pidid enne Selenium RC-d installima nii Selenium Core'i (JavaScripti programm) kui ka testitava veebirakenduse sisaldava veebiserveri kohalikud koopiad, et nad kuuluksid samasse domeeni
Seleenipuldi (Selenium RC) sünd
Kahjuks; Selenium Core'i kasutavad testijad pidid sama päritolupoliitika kehtestatud piirangute tõttu installima kogu testitava rakenduse ja veebiserveri oma kohalikesse arvutitesse . Niisiis otsustas teine ThoughtWorki insener Paul Hammant luua serveri, mis toimib HTTP-puhverserverina, et brauserit "meelitada" uskuma, et Selenium Core ja testitav veebirakendus pärinevad samast domeenist. See süsteem sai nimeks Selenium Remote või Selenium 1 .
Seleenivõrgu sünd
Selenium Grid töötas välja Patrick Lightbody, et lahendada vajadus testide täitmisaega võimalikult palju minimeerida. Esialgu nimetas ta süsteemi " Hosted QA ". See oli võimeline jäädvustama brauseri ekraanipilte olulistel etappidel ja saatma ka seleeni käske erinevatele masinatele üheaegselt.
Seleeni IDE sünd
Jaapanlane Shinya Kasatani lõi Firefoxi laienduse Selenium IDE , mis suudab brauserit automatiseerida salvestus- ja taasesitusfunktsiooni kaudu. Ta tuli selle ideega, et veelgi suurendada testjuhtumite loomise kiirust. Ta annetas seleeni projektile seleeni IDE 2006. aastal .
WebDriveri sünd
Simon Stewart lõi WebDriveri umbes 2006. aastal, kui brauserid ja veebirakendused muutusid JavaScripti programmidega nagu Selenium Core võimsamaks ja piiravamaks. See oli esimene platvormidevaheline testimisraamistik, mis suutis brauserit OS-i tasemelt juhtida.
Seleeni sünd 2
In 2008 , kogu Seleen Team otsustanud ühendada WebDriver seleen RC moodustada võimsam tööriist nimega Seleen 2 , koos WebDriver on tuum . Praegu on Selenium RC alles väljatöötamisel, kuid ainult hooldusrežiimis. Enamik seleeni projekti jõupingutusi on nüüd suunatud seleen 2-le.
Niisiis, miks seleeni nimi?
Nimi Selenium tuli naljast, mille Jason ükskord oma meeskonnale krabas. Seleeni väljatöötamise ajal oli populaarne veel üks automatiseeritud testimisraamistik, mille tegi ettevõte nimega Mercury Interactive (jah, ettevõte, kes algselt tegi QTP-d enne, kui HP selle omandas). Kuna seleen on tuntud elavhõbeda mürgituse vastumürk, soovitas Jason selle nime ja tema meeskonnakaaslased võtsid selle. Nii saime seda raamistikku tänapäevani kutsuda.
Lühitutvustus Seleen IDE
Seleeni integreeritud arenduskeskkond (IDE) on seleeni komplekti kõige lihtsam raamistik ja seda on kõige lihtsam õppida . See on Firefoxi pistikprogramm, mille saate installida sama hõlpsalt kui teiste pistikprogrammidega. Kuid selle lihtsuse tõttu tuleks Selenium IDE-d kasutada ainult prototüüpimise tööriistana . Kui soovite luua täpsemaid testijuhtumeid, peate kasutama kas Selenium RC või WebDriver.
Lühitutvustus Seleeni kaugjuhtimispult (Selenium RC)
Selenium RC oli pikka aega kogu Seleniumi projekti lipulaev . See on esimene automatiseeritud veebitestimise tööriist, mis võimaldas kasutajatel kasutada oma eelistatud programmeerimiskeelt . Alates versioonist 2.25.0 saab RC toetada järgmisi programmeerimiskeeli:
- Java
- C #
- PHP
- Python
- Perl
- Rubiin
Lühitutvustus WebDriver
WebDriver osutub paljudes aspektides paremaks kui Selenium IDE ja Selenium RC . See rakendab brauseri toimingute automatiseerimisel kaasaegsemat ja stabiilsemat lähenemist. Erinevalt Selenium RC-st ei tugine WebDriver seleeni automatiseerimise testimisel JavaScripti. See kontrollib brauserit, suheldes sellega otse.
Toetatud keeled on samad, mis Selenium RC-s.
- Java
- C #
- PHP
- Python
- Perl
- Rubiin
Seleenivõrk
Selenium Grid on tööriist, mida kasutatakse koos Selenium RC-ga samaaegselt paralleelsete testide läbiviimiseks erinevate masinate ja erinevate brauserite vahel. Paralleelne täitmine tähendab mitme testi korraga käivitamist.
Funktsioonid:
- Võimaldab samaaegseks toimimiseks teste in mitut brauserit ja keskkondades.
- Säästab tohutult aega .
- Kasutab jaoturi ja sõlmede kontseptsiooni. Rummu toimib seleeni käskude keskse allikana igale sellega ühendatud sõlmele.
Märkus brauseri ja keskkonnatoe kohta
Arhitektuuriliste erinevuste tõttu toetavad Selenium IDE, Selenium RC ja WebDriver erinevaid brausereid ja töökeskkondi.
Seleen IDE | Veebidraiver | |
---|---|---|
Brauseri tugi | Mozilla Firefox | Internet Exploreri versioonid 6 kuni 11, nii 32 kui ka 64-bitine Microsoft Edge versioon 12.10240 ja uuemad (osaliselt toetatakse arendamisel olevaid funktsioone) Firefox 3.0 ja uuem Google Chrome 12.0. ja uuemad Opera 11.5 ja uuemad Android - 2.3 ja uuemad telefonide ja tahvelarvutite (seadmed ja emulaatorid) puhul iOS 3+ telefonide (seadmed ja emulaatorid) ja 3.2+ versioonide jaoks tahvelarvutid (seadmed ja emulaatorid) HtmlUnit 2.9 ja uuemad |
Operatsioonisüsteem | Windows, Mac OS X, Linux | Kõik opsüsteemid, kus ülaltoodud brauserid saavad töötada. |
Märkus: Selenium WebDriverit nimetatakse Selenium RC järeltulijaks, mille SeleniumHQ on amortiseerinud ja ametlikult välja kuulutanud.
Kuidas valida oma vajadustele sobiv seleenivahend
Tööriist | Miks valida? |
---|---|
Seleen IDE |
|
Seleen RC |
|
Veebidraiver |
|
Seleenivõrk |
|
Seleeni ja QTP (nüüd UFT) võrdlus
Kiirtestide professionaal (QTP) on patenteeritud automatiseeritud testimistööriist, mis varem kuulus ettevõttele Mercury Interactive, enne kui selle omandas Hewlett-Packard 2006. aastal . Seleenivahendite komplektil on QTP ees palju eeliseid, nagu allpool kirjeldatud -
Seleeni eelised ja eelised võrreldes QTP-ga
Seleen | QTP |
---|---|
Avatud lähtekoodiga , tasuta kasutamiseks ja tasuta. | Reklaam . |
Väga laiendatav | Piiratud lisandmoodulid |
Saab teste teha erinevates brauserites | Saab teste teha ainult Firefoxis , Internet Exploreris ja Chrome'is |
Toetab erinevaid opsüsteeme | Saab kasutada ainult Windowsis |
Toetab mobiilseadmeid | QTP toetab mobiilirakenduste testimisautomaatikat (iOS ja Android), kasutades HP lahendust nimega - HP mobiilikeskus |
Kas käivitada testid samas brauser on minimeeritud | Peab olema testitav rakendus, et see oleks töölaual nähtav |
Oskab teste teha paralleelselt . | Saab teostada ainult paralleelselt, kuid kasutades kvaliteedikeskust, mis on jällegi tasuline toode. |
QTP eelised seleeni ees
QTP | Seleen |
---|---|
Oskab testida nii veebi- kui ka töölauarakendusi | Saab testida ainult veebirakendusi |
Kaasas sisseehitatud objektide hoidla | Sellel pole sisseehitatud objektihoidlat |
Automatiseerub kiiremini kui seleen, kuna see on täielikult välja pakutud IDE. | Automatiseerib aeglasemalt, kuna sellel pole kohalikku IDE-d ja arendamiseks saab kasutada ainult kolmanda osapoole IDE-d |
Andmepõhist testimist on lihtsam teha, kuna sellel on sisseehitatud globaalsed ja kohalikud andmetabelid . | Andmepõhine testimine on tülikam, kuna testandmete väärtuste seadmisel peate tuginema programmeerimiskeele võimalustele |
Juurdepääs brauseri juhtnuppudele (nt lemmikute riba, aadressiriba, nupud Tagasi ja Edasi jne) | Väljaspool testitavat veebirakendust ei pääse juurde |
Pakub professionaalset kliendituge | Ametlikku kasutajatuge ei pakuta. |
Tal on loomulik võime testandmeid eksportida välistesse vormingutesse | Tal pole algset võimalust käitusaja andmete eksportimiseks välistesse vormingutesse |
Parameetrite tugi on ehitatud | Parameetreid saab teha programmeerimise kaudu, kuid seda on keeruline rakendada. |
Testiaruanded luuakse automaatselt | Testi / veaaruannete loomiseks pole kohalikku tuge. |
Ehkki QTP-l on selgelt rohkem võimalusi, kaalub seleen QTP üles kolmes põhivaldkonnas:
- Maksumus (kuna seleen on täiesti tasuta)
- Paindlikkus (paljude toetatavate programmeerimiskeelte, brauserite ja platvormide tõttu)
- Paralleelne testimine (milleks QTP on võimeline, kuid ainult kvaliteedikeskuse kasutamisel)
Kokkuvõte
- Kogu Selenium Software Testing Suite koosneb neljast komponendist:
- Selenium IDE, Firefoxi lisandmoodul, mida saate kasutada ainult suhteliselt lihtsate testjuhtumite ja testipakettide loomisel.
- Seleeni kaugjuhtimispult, tuntud ka kui Selenium 1, mis on esimene seleeni tööriist, mis võimaldas kasutajatel keerukate testide loomisel kasutada programmeerimiskeeli.
- WebDriver, uuem läbimurre, mis võimaldab testskriptidel suhelda otse brauseriga, kontrollides seeläbi seda operatsioonisüsteemi tasemelt.
- Selenium Grid on ka tööriist, mida kasutatakse koos Selenium RC-ga paralleelsete testide läbiviimiseks erinevates brauserites ja operatsioonisüsteemides.
- Selenium RC ja WebDriver ühendati, moodustades Selenium 2.
- Seleen on kulude ja paindlikkuse poolest QTP-st soodsam. See võimaldab teil teste käivitada ka paralleelselt, erinevalt QTP-st, kus teil on lubatud teste teha ainult järjestikku.