A Selenium webalkalmazások automatikus tesztelésére szolgáló keretrendszer,Hauptseminar Web Engineering 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özThe Art of Unit Testing: Deutsche Ausgabe Seite 290 Roy Osherove, Mitp-Verlag és az egyik legismertebb nyílt forrású teszteszköz.Automatisierte Testverfahren für web-basierte Anwendungen (PDF; 944 kB) Oliver Fischer, Masterarbeit am Lehrstuhl für Datenstrukturen und Softwarezuverlässigkeit der BTU Cottbus
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 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 () szelén () bevitelével gyógyítható.
Változatok Selenium 3 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
Selenium Core 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 A Selenium IDE Google Chrome-, Microsoft Edge- és Mozilla Firefox-bővítmény, 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) Az RC elavult 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, a Selenium 3-ban az RC „legacy”-csomagba került, és nem tölthető le a projekt lapjáról.
Selenium WebDriver 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 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 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
Fordítás
Források Michael Kain: Selenium. Web-Applikationen automatisiert testen, Open Source Press 2008, Unmesh Gundecha: Selenium 2 Cookbook, 2012, . David Burns: Selenium 2.0 Testing Tools: Beginner’s Guide, 2012, C. Titus Brown, Gheorghe Gheorghiu, Jason Huggins: An Introduction to Testing Web Applications with twill and Selenium, O’Reilly 2007, Alan John Richardson: Selenium Simplified, Compendium Developments, 2010, Selenium Testing Tools Interview Questions You’ll Most Likely Be Asked, CreateSpace Independent Publishing 2019, További információk Hivatalos weboldal Selenium-blogok listája és összefoglalói A Selenium elemzése és értékelése
Kategória:Szoftverfejlesztés Kategória:Szabad szoftverek