Selenium on tarkvara testimisraamistikveebirakenduste testimiseks[1]. Seleniumiintegreeritud arenduskeskkond (IDE) võimaldab kasutada taasesitamise vahendit, et ei oleks vaja ära õppida testide skriptikeelt.
Selenium võimaldab kasutada ka domeenispetsiifilist keelt Selenese testide loomiseks programmeerimiskeelte abil, näiteksC#,Groovy,Java,Perl,PHP,Python,Ruby jaScala. Teste on võimalik kasutada enamikus uuematesveebibrauserites ning Seleniumi tarkvara on ühilduv niiWindowsi,Linuxi kui kamacOS-i platvormidega. Selenium on väljastatud Apache 2.0 litsentsi all,lähtekood on avatud ning tarkvara on tasuta allalaadimiseks ja kasutamiseks[2].
Selenium koosneb komponentidest, millest igaühel on oma kindel roll veebirakenduste testimise automatiseerimises.
Selenium IDE on täielik integreeritud arenduskeskkond Seleniumi testide jaoks. IDE on teostatudFirefoxi pistikprogrammina ja võimaldab teste salvestada, muuta ja siluda. Varem tuntud kui Selenium Recorder. Selenium IDE funktsionaalsuse implementeeris algselt Shinya Kastani ja aastal2006 annetas ta selle Seleniumi projektile. Seda pistikprogrammi enam ei hooldata ning see ühildus Selenium RC-ga, mis on nüüdseks vananenud[3]. Skripte saab automaatselt salvestada ja manuaalselt muuta, tarkvara toetab automaatset täitmist ja kiiret liikumist erinevate käskude vahel. Skriptid on kirjutatud Selenese keeles, mis on spetsiaalne skriptimiskeel Seleniumi jaoks. Selenese võimaldab veebibrauseris erinevate käskude sooritamist (nt lingile klikkimine, valiku tegemine) ja lehtedelt informatsiooni leidmist. Firefoxi Selenium IDE lakkas töötamast[4] pärast Firefoxi 55 uuendust ja enam seda toetata.
Peale Selenese saab teste kirjutada ka muudes programmeerimiskeeltes. Testid edastavad infot sel juhul Seleniumile, kutsudes välja meetodeid Seleniumi kliendi rakendusliideses. Selenium pakub rakendusliidest Java, C#, Ruby, Javascripti ja Pythoni jaoks. Selenium 2-ga tutvustati uut kliendi rakendusliidest, kus põhikomponent on Webdriver[5]. Vana Seleniumi klassi kasutav rakendusliides on aga siiamaani toetatud.
Selenium Webdriver on Selenium RC järeltulija. Webdriver võtab vastu käsud Selenese keeles või kliendirakendusliidese (API) kaudu ja saadab need veebibrauserile edasi. See on implementeeritud veebibrauserispetsiifilisedraiveri kaudu, mis saadab käske edasi veebibrauserile ja otsib informatsiooni. Enamik veebibrauseri draivereid käivitab ja külastab veebibrauserirakendusi (nt Firefox, Chrome, Internet Explorer, Michrosoft Edge, HtmlUnit). Selenium 1 kasutades oli testide käitamiseks vajalik Seleniumi server. Selenium Webdriver aga ei vaja testide käivitamiseks eraldiseisvat serverit. Webdriver käivitab otse veebibrauseri ja võtab selle üle kontrolli. Webdriveriga teste kaughaldussüsteemides käitades võib lisaks kasutada Selenium Gridi (vt allpool). Kui võimalik, kasutab Webdriver operatsioonisüsteemi enda funktsionaalsust, mitte veebibrauseripõhiseid JavaScripti käske[1].
Selenium Remote Control (RC) on server veebibrauseri poolt tulevate käskude vastuvõtmiseksHTTP kaudu. RC teeb võimalikuks veebirakendustele automatiseeritud testide kirjutamise igas programmeerimiskeeles, mis võimaldab Seleniumi paremat integratsiooni olemasolevatesseühiktestimise raamistikesse. Testide kirjutamise lihtsustamiseks pakub Selenium kliendidraivereidPHP-le,Pythonile,Rubyle,.Net’ile,Perlile jaJavale. Selenium 2 väljatulemisega loetakse Selenium RC ametlikult vananenuks, nüüdsest eelistatakse Selenium Webdriverit[2].
Selenium Grid on server, mis laseb testidel kasutada veebibaruserit, mis jookseb kaughaldusserveris[6].