A Selenium webalkalmazások automatikus tesztelésére szolgáló keretrendszer,[3] melyet a ThoughtWorks cég ír, és szabad szoftverként az Apache 2.0 licenc alatt ad ki. Ez széles körben használható eszköz[4][5] és az egyik legismertebb nyílt forrású teszteszköz.[6]

Selenium

Legfrissebb stabil kiadás
  • 4.16.0 (stabil verzió, 2023. december 6.)[1]
  • 4.18.0 (stabil verzió, 2024. február 20.)[2]
Programozási nyelvJava
Operációs rendszerMicrosoft Windows
Kategória
LicencApache Licenc 2.0
A Selenium weboldala

Seleniummal lehetséges egy webalkalmazásra való hatások felvétele és ezek tetszőlegesen gyakran történő automatikus ellenőrzése. Ez különösen a webalkalmazás-fejlesztők számára csökkentheti a szükséges munkaidőt, például internetes ívek kitöltésekor, így a tesztelést gyorsítja, rugalmasabbá és megbízhatóbbá teszi.

A Selenium csak HTML-en és JavaScripten alapul. Gyors belépéshez telepíthető a Selenium-IDE például Firefox-bővítményként: a felhasználó a Firefoxszal kommunikál, a Selenium felveszi és újra lejátssza a tesztet.

Története szerkesztés

A Seleniumot Jason Huggins hozta létre 2004-ben weblaptesztelésre szolgáló belső programként a ThoughtWorksnél. Később egyre több dolgozó csatlakozott a programhoz, míg végül Paul Hammant a program fejlesztését a mai „Selenium Remote Control“ (RC) felé vezette.

2007-ben Huggins a Google céghez ment, ahol a programot más dolgozókkal együtt fejlesztette tovább és javította. Ugyanekkor Simon Stewart a ThoughtWorksnél létrehozta a Webdrivert. Mivel a két projekt fejlesztőinek nem tűnt értelmesnek két eltérő projekt használata, végül a két projektet „Selenium Webdriver” vagy „Selenium 2.0” néven egyesítették.

2008-ban Philippe Hanrigou létrehozta a Selenium Gridet, mely lehetővé tette több Selenium-példány tetszőleges számú számítógépen való futását. Ez a nagy tesztstruktúrák futásidejét csökkentette.

A Selenium név Huggins azon felismeréséből jött, hogy a Mercury e-mailjére azzal válaszol, hogy a higanymérgezés (angolul: mercury poisoning) szelén (angolul: selenium) bevitelével gyógyítható.

Változatok szerkesztés

Selenium 3 szerkesztés

A Selenium 3.0 2016. október 13. óta elérhető. Ebben az alábbi változások jelentek meg:

  • Java: legalább Java 8 szükséges.
  • Webdriver: hibajavítások és egyszerű frissítés lehetséges 2.x-ről.
  • Selenium Grid: hibajavítások és egyszerű frissítés lehetséges 2.x-ről.
  • Webdriver-API-k: csak ezek támogatottak.
  • Selenium RC-API-k: nem támogatottak már, egy „legacy” csomag részei.
  • Firefox-támogatás: Firefox 47.0.1-től szükséges a Mozilla GeckoDriver.

Részei szerkesztés

Selenium Core szerkesztés

A Core modul a Selenium alapfunkcióit, a tesztparancs-API-t és a TestRunnert tartalmazza. Használatával a TestRunner.html weblap több böngészőn is nyitható. Így eltérő böngészőkkel végezhetők kompatibilitási tesztek.

Selenium IDE szerkesztés

A Selenium IDE Google Chrome-, Microsoft Edge- és Mozilla Firefox-bővítmény,[7] mellyel közvetlenül a böngészőben egy webalkalmazással való interakcióval vehetők fel tesztesetek, és ezek újrajátszhatók a böngészőben. A tiszta felvétel–újrajátszás funkciók mellett a verifyjal és az asserttel ellenőrzések is végezhetők. Továbbá a tesztesetek lépésenkénti lejátszása, a töréspontok beállítása tesztesetek ellenőrzéseként és a megosztott tesztek újbóli használata is támogatott. Az egyes tesztesetek kombinálhatók tesztcsomagokká.

Selenium Remote Control (RC) (elavult) szerkesztés

Az RC elavult[8] modul, mely egy szerverpéldányt ad proxyként. E szervert Selenium Client-illesztőprogram irányítja. Ez különböző programozási nyelveken (például Java, .NET, Perl, PHP, Python, Ruby) történhet. Java esetén ezen esetek például JUnittal vagy TestNG-vel kivitelezhetők. GUI-tesztek automatizálása is lehetséges folyamatos integráció mellett.

A Selenium 2-ben az ekkor elavultnak jelölt Selenium RC-t felváltotta a Selenium WebDriver,[9] a Selenium 3-ban az RC „legacy”-csomagba került, és nem tölthető le a projekt lapjáról.[8]

Selenium WebDriver szerkesztés

A Selenium WebDriver a Selenium Remote Control utódja. Elfogad parancsokat Selenese-ben vagy a kliens API-ban. Megjelent benne a HtmlUnit, ami a 3.0 verziótól nem része a WebDrivernek. Ez egy grafikus megjelenítő nélküli böngésző. BrowserDriveren keresztül is megvalósult, ez a legfrissebb böngészőket támogatja.

Selenium Grid szerkesztés

A Selenium Grid a Selenium RC kiterjesztése, és lehetővé teszi tesztek párhuzamos végrehajtását több szerveren a tesztidőtartam csökkentésére. A Selenium Client-illesztőprogram a Selenium Hubbal lép kapcsolatba a Selenium-szerver helyett. A Hub a teszteket szabad szervereken futtatja. A Selenium RC-n elérhető tesztesetek kis változtatásokkal futtathatók Selenium Griddel. A tesztesetek mindkét esetben párhuzamosan futtathatók, például TestNG-vel.

Használat szerkesztés

Számos tesztszoftver épül Seleniumra, például:

  • Protractor, keretrendszer AngularJS-alkalmazások végpontok közti tesztelésére,
  • WebTester, GUI-tesztek automatizálására szolgáló keretrendszer,
  • Appium, nyílt forrású tesztautomatizáló eszköztár natív és hibrid mobilalkalmazásokhoz,
  • BrowserStack, felhőalapú tesztplatform mobil és asztali internetes alkalmazásokhoz

Jegyzetek szerkesztés

  1. Release Selenium 4.16, 2023. december 6.
  2. Release 4.18.0, 2024. február 20. (Hozzáférés: 2024. február 20.)
  3. Hauptseminar Web Engineering
  4. The Art of Unit Testing: Deutsche Ausgabe Seite 290 Roy Osherove, Mitp-Verlag
  5. Alexander Neumann: Integrationstests: Selenium 3 ist erschienen. Heise online – heise Developer. Heise Medien, 2016. október 14. (Hozzáférés: 2017. február 1.) „eines der meistgenutzten Werkzeuge in der Webentwicklung”
  6. Automatisierte Testverfahren für web-basierte Anwendungen Archiválva 2014. március 26-i dátummal a Wayback Machine-ben (PDF; 944 kB) Oliver Fischer, Masterarbeit am Lehrstuhl für Datenstrukturen und Softwarezuverlässigkeit der BTU Cottbus
  7. Selenium IDE (angol nyelven). (Hozzáférés: 2023. március 10.)
  8. a b Selenium 3 is Coming (angol nyelven), 2016. október 4. (Hozzáférés: 2016. október 15.)
  9. Selenium Homepage. (Hozzáférés: 2016. július 29.)

Fordítás szerkesztés

Ez a szócikk részben vagy egészben a Selenium című német Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel. Ez a jelzés csupán a megfogalmazás eredetét és a szerzői jogokat jelzi, nem szolgál a cikkben szereplő információk forrásmegjelöléseként.

Források szerkesztés

További információk szerkesztés