Selenium
![]() | Tähän artikkeliin tai osioon ei ole merkitty lähteitä, joten tiedot kannattaa tarkistaa muista tietolähteistä. Voit auttaa Wikipediaa lisäämällä artikkeliin tarkistettavissa olevia lähteitä ja merkitsemällä ne ohjeen mukaan. |
Selenium on avoimen lähdekoodin työkalu, jolla saadaan automatisoitua web-sovellusten toimintaa eri selaimissa. Seleniumin avulla testaajat voivat luoda skriptejä eri ohjelmointikielillä esimerkiksi Pythonilla, C# ja Javalla. Nämä skriptit simuloivat esimerkiksi käyttäjän eri toimintoja selaimessa.
Historia
Seleniumin kehitti alun perin Jason Huggins vuonna 2004. Aluksi selenium oli ThoughtWork:in sisäinen työkalu. Vuoden lopussa Seleniumin lähdekoodi julkaistiin ja työkalusta tuli avoimmen lähdekoodin projekti.
Vuonna 2005 Dan Fabulich and Nelson Sproul, Path Lightbodyn avustuksella ehdottivat joukon muutoksia, jotka muuttivat Selenium-RC:n tunnetuksi versioksi. Samassa kokouksessa päätettiin, että projektin ohjaamista jatketaan komitien toimella, jossa Huggins ja Hammant edustivat ThoughtWorksia.
Vuonna 2007 Huggin siirtyi Googlelle töihin. Seleniumin kehittämistä jatkettiin. Samoihin aikoihin Simon Stewart kehitti WebDriverin, joka yhdistettiin Seleniumiin vuonna 2009, jolloin syntyi Selenium 2.0.
Vuonna 2008 Philippe Hanrgou loi Selenium Gridin.
Komponentit
Selenium Web driver
Selenium WebDriver mahdollistaa automaattisten testien luomisen ja ajamisen. WebDriverin avulla voidaan esimerkiksi automatisoida lomakkeiden täyttö, painikkeiden klikkaus ja navigointi sivujen välillä, että se vastaa oikean käyttäjän toimintaa selaimessa.
Selenium Grid
Selenium Grid mahdollistaa WebDriver-skriptien ajamisen etäkoneilla ohjaamalla clientin lähettämät komennot etäselaininstansseihin. Tämä mahdollistaa testien ajamisen samanaikaisesti monella eri laiteella, jolloin voidaan testata helposti ohjelmiston toimintaa eri selaimissa. Lisäksi ristiin testaaminen eri alustoilla onnistuu Selenium Gridin avulla.
Selenium IDE
Selenium IDE on selaimeen asennettava työkalu, joka tarjoaa graafisen käyttöliittymän testien rakentamiseen ja ajamiseen. Sen avulla voidaan luoda makroja, jotka toistavat käyttäjän toimintoja, mikä helpottaa testien toistamisessa.