seleeni | |
---|---|
Tyyppi | ohjelmistojen testaus |
Sisään kirjoitettu | Java |
Käyttöjärjestelmä | Microsoft Windows , GNU / Linux , Apple MacOS |
uusin versio | 4.5.0 (28. syyskuuta 2022 ) |
Lisenssi | Apache-lisenssi 2.0 |
Verkkosivusto | selen.dev |
Selenium WebDriver on työkalu verkkoselaimen toimintojen automatisointiin. Useimmissa tapauksissa sitä käytetään verkkosovellusten testaamiseen , mutta ei rajoitu tähän. Sitä voidaan käyttää erityisesti rutiininomaisten sivuston hallintatehtävien ratkaisemiseen tai säännöllisesti tietojen vastaanottamiseen eri lähteistä (sivustoista). Harvoin käytetty, mutta tärkeä.
Kesäkuussa 2004 [1] kehittäjä Jason Huggins kirjoitti JavaScript - kirjaston nimeltä "JavaScriptTestRunner" (tunnetaan nyt nimellä "Selenium Core") suorittaakseen testejä selaimessa . Tuolloin Huggins työskenteli ThoughtWorks- toimistossa Chicagossa , ja luodun kirjaston avulla testattiin Pythonilla kirjoitettua sivustoa sisällönhallintajärjestelmän (CMS) Plone avulla . Hugginsia avustivat ThoughtWorksin Paul Gross ja Jie Tina Wang. Myöhemmin muut yrityksen kehittäjät ja testaajat liittyivät kehittämiseen.
Nimeä "Selenium" ("selenium" englanniksi - selenium ) alettiin käyttää sen jälkeen, kun Huggins vitsaili yhdessä sähköpostissaan (sähköpostissa) kilpailevasta projektista nimeltä "Mercury Interactive QuickTest Professional" ("elohopea" englannista käännettynä). - elohopea ), kirjoittaa, että voit toipua elohopeamyrkytyksestä ottamalla seleeniä ruoan kanssa [2] .
Paul Hammant (ThoughtWorksin työntekijä) ehdotti Selenium Core -kirjaston lähdekoodin avaamista, mahdollisuuden kirjoittaa skriptejä millä tahansa ohjelmointikielellä ja ajaa skriptejä etänä. Jälkimmäisen toteuttamiseksi oli välttämätöntä ohittaa selaimen asettamat rajoitukset noudattaakseen samaa alkuperäpolitiikkaa . ThoughtWorksin Aslak Hellesoy ja Mike Melia kirjoittivat sivun uudelleenkirjoittajan ohittaakseen säännön. Paul Hammant kirjoitti Java -ohjelmat , jotka toteuttavat palvelimen ja asiakkaan. Aslak Hellesoy ja Obie Fernandez kirjoittivat Ruby -asiakkaan uudelleen kirjastoksi.
ThoughtWorks, jolla on toimistoja ympäri maailmaa, alkoi käyttää Seleeniä kaupallisissa projekteissa. Kehitystä jatkoivat Mike Williams, Darrell Deboer ja Darren Cotterill.
BEA Systems, Inc:n kehittäjät, Dan Fabulich ja Nelson Sproul kirjoittivat palvelinkoodin uudelleen käyttämällä Jetty -projektin koodia (HTTP-palvelin Javassa) HTTP -välityspalvelimen toteuttamiseen. Uusi palvelin tunnettiin nimellä "Selenium Remote Control" tai "Selenium RC". Selenium RC:tä jatkoivat Pat Lightbody, Dan Fabulich ja Nelson Sproul.
Joulukuussa 2004 Selenium-projektin lähdekoodi avattiin.
Vuonna 2005 pidetyssä kehittäjäkokouksessa Dan Fabulich ja Nelson Sproul (Pat Lightbodyn avulla) ehdottivat, että ottaisivat käyttöön joukon korjaustiedostoja, jotka muuttaisivat "Selenium RC":n tuotteeksi, joka tunnetaan nykyään nimellä "Selenium 1.0". Samassa kokouksessa projektinjohto määrättiin komitealle, jonka kehittäjät Jason Huggins ja Paul Hammant edustivat ThoughtWorksia muodostetussa komiteassa.
Kesällä 2006 Selenium Core -kirjaston kehitti Wang Peng Chaon, Huang Liangin, Xiong Jien ja muiden kehitystiimi, jota johti Mike Williams ThoughWorksin toimistossa Kiinassa. Tiimi on ottanut käyttöön Selenium 1.0:n ominaisuudet.
Vuonna 2007 Jason Huggins liittyi Googleen, hänestä tuli (silloin salaisen) Selenium-tukitiimin jäsen ja jatkoi Selenium RC -työskentelyä muiden kehittäjien (kuten Jennifer Bevan) kanssa. Googlen edustajat ilmoittivat seleenin käytöstä ensimmäisen kerran New Yorkissa 23.–24. elokuuta 2007 pidetyssä Google Test Automation Conferencessa (GTAC-2007) [ 3 ] . Myöhemmin Jennifer Bevan sai mahdollisuuden tehdä muutoksia Selenium-projektin koodiin.
Chicagolainen Haw-bin Chai loi korjaustiedostoja, jotka lisäsivät XPath -toiminnallisuutta ja otti käyttöön laajennuksen nimeltä "UI Element", minkä jälkeen hänet kutsuttiin Selenium-kehitystiimiin vuonna 2007.
Simon Stewart, silloin ThoughtWorksissä, kehitti työkalun nimeltä WebDriver. WebDriver käynnisti selaimet ja työskenteli niiden kanssa, vaikka JavaScriptin tarjoamat ominaisuudet eivät rajoittuneet, joten se oli ominaisuuksiltaan Selenium Corea parempi. Mutta jokaisen selaimen tukeminen vaati koodin kirjoittamista. Vuonna 2007 Simon Stewart esitteli kehitystään GTAC-2007-konferenssissa. Vuonna 2009 kehittäjät tapasivat GTAC-2009-konferenssissa ja päättivät yhdistää Selenium- ja WebDriver-projektien koodikannat. Vuosina 2007–2012 Simon Stewart työskenteli Googlella ja myöhemmin Facebookilla viettäen osan ajastaan WebDriverin tekemiseen yhteensopivaksi Selenium RC:n kanssa. Uuden tuotteen nimi oli "Selenium WebDriver" tai "Selenium 2.0" [4] .
Vuonna 2008 Philippe Hanrigou, silloin ThoughtWorksissä, loi Selenium Grid -projektin. Selenium Grid on avoimen lähdekoodin projekti, joka tarjoaa ohjelmia, jotka on suunniteltu suorittamaan Selenium RC -skriptejä useissa tietokoneissa samanaikaisesti. Eri skriptejä ajettiin useilla tietokoneilla niiden suoritusajan lyhentämiseksi. "Selenium Grid" -tuotteen ominaisuudet osuivat yhteen samanlaisen, mutta suljetun ja sisäisen Google-tuotteen ominaisuuksien kanssa. Pat Lightbody omisti sivuston nimeltä "Hosted QA", jonka avulla voit saada kuvakaappauksia verkkosivuista , myi sivuston Gomez, Inc:lle.
Japanilainen Shinya Kasatani on luonut Firefox -selaimelle laajennuksen nimeltä "Selenium IDE", jonka avulla voit tallentaa, tallentaa ja toistaa testejä. Sama alkuperäpolitiikka ei rajoita laajentamista .
Selenium WebDriver on ensisijaisesti joukko kirjastoja eri ohjelmointikielille. Näitä kirjastoja käytetään JsonWireProtocol [5] -protokollan avulla lähettämään HTTP -pyyntöjä ohjaimelle (siitä nimi WebDriver), jotka osoittavat toiminnon, joka selaimen tulee suorittaa nykyisen istunnon aikana. Esimerkkejä tällaisista komennoista voivat olla komennot elementtien etsimiseen paikantimen avulla, linkkien seuraamiseen, sivun/elementin tekstin jäsentämiseen, painikkeiden painamiseen tai verkkosivuston sivun linkkien seuraamiseen . Kirjastossa on sekä virallisia sidoksia suosittuihin ohjelmointikieliin että amatöörikieliin. Esimerkiksi PHP -kielitukikirjasto ei ole virallinen, ja sitä kehittää Facebook [6] .
Selenium-projekti ja yhteisö tukevat Microsoft Internet Explorer - , Google Chrome - , Mozilla Suite - ja Mozilla Firefox -selaimia Microsoft Windows - , Linux - ja Apple Macintosh - käyttöjärjestelmillä .
Selenium alkoi versiosta 3.x alkaen vaatia erillisen ohjaimen toimiakseen Firefox-selaimen kanssa - GeckoDriver , aiemmin nimeltään Marionette [7]
Osana Selenium-projektia julkaistaan Selenium IDE -työkalu - Firefox- ja Chrome -selaimien laajennus , joka on Selenium-kirjasto, jossa on XUL :lla rakennettu graafinen käyttöliittymä (GUI) . Laajennuksen avulla voit tallentaa, tallentaa ja toistaa komentosarjoja web-sivujen testausta varten. Skriptit tallennetaan HTML -muodossa taulukkona.
Luettelo Selenium-projektin kehittäjien ja/tai yhteisön tukemista selaimista [8] :
Selain | Käyttöjärjestelmä | Kehittäjä |
---|---|---|
Chromium / Google Chrome | Windows / macOS / Linux | |
Firefox | Windows/macOS/Linux | Mozilla |
Microsoft Edge | Windows 10 | Microsoft |
Internet Explorer | Windows | Seleeniprojekti |
safari | macOS El Capitan ja uudemmat | Omena |
Ooppera | Windows/macOS/Linux | Ooppera |
On myös mahdollista käyttää selaimissa, joissa ei ole graafista käyttöliittymää - HtmlUnit ja PhantomJS , vaikka jälkimmäistä ei suositella, koska tätä tuotetta ei ole päivitetty eikä sen kehittäjä ole tukenut vuoden 2017 jälkeen ja vastaavat toiminnallisuus on ollut selaimessa siitä lähtien Google Chrome [8] .