Mis on seleen? Sissejuhatus seleeni automaatika testimisse

Lang L: none (table-of-contents):

Anonim

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
Seleeni tutvustus

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

  • Automaatse testimise ja seleeni mõistete tundmaõppimiseks, sealhulgas:
  • Selenese käsud, nagu tüüp, avamine, klõpsamine ja ootamine, kinnitamine, kinnitamine jne.
  • Lokaatorid nagu ID, nimi, xpath, css selector jne
  • Kohandatud JavaScripti koodi käivitamine runScripti abil
  • Testjuhtumite eksportimine erinevates vormingutes.
  • Testide loomiseks, kui programmeerimisest on vähe või üldse mitte.
  • Lihtsate testjuhtumite ja testipakettide loomiseks, mida saate hiljem RC-sse või WebDriveri eksportida.
  • Veebirakenduse testimiseks ainult Firefoxi ja Chrome'i vastu.

Seleen RC

  • Koostada test, kasutades seleneest väljendusrikkamat keelt
  • Testi käivitamiseks erinevates brauserites (välja arvatud HtmlUnit) erinevates operatsioonisüsteemides.
  • Testide juurutamiseks mitmes keskkonnas, kasutades seleeniruudustikku.
  • Rakenduse testimiseks uue JavaScripti toetava brauseri suhtes.
  • Veebirakenduste testimiseks keerukate AJAX-põhiste stsenaariumitega.

Veebidraiver

  • Testijuhtumi kujundamisel teatud programmeerimiskeele kasutamine.
  • Rakenduste testimiseks, mis sisaldavad palju AJAX-põhiseid funktsionaalsusi.
  • Testide sooritamiseks brauseris HtmlUnit.
  • Kohandatud testitulemuste loomiseks.

Seleenivõrk

  • Selenium RC skriptide käitamiseks mitmes brauseris ja opsüsteemis üheaegselt.
  • Tohutu testikomplekti käivitamiseks peab see valmima võimalikult kiiresti.

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 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.