Seleeni

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 25.5.2021 tarkistetusta versiosta . tarkastukset vaativat 6 muokkausta .
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 ) ( 28.09.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ä.

Historia

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 .

Yleistä tietoa

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.

Tuetut alustat

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 Google
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] .

Katso myös

Muistiinpanot

  1. Seleenihistoria  . _ selen.dev. Haettu 19. joulukuuta 2019. Arkistoitu alkuperäisestä 19. joulukuuta 2019.
  2. Crill, Paul. Avoimen lähdekoodin Selenium-verkkosovellustestipaketti iPhonen ja Androidin tukemiseen  // InfoWorld  :  Magazine. - 2011 - 6. huhtikuuta.
  3. 2. vuotuinen Google Test Automation Conference (7. maaliskuuta 2007). Haettu 1. syyskuuta 2016. Arkistoitu alkuperäisestä 13. toukokuuta 2016.
  4. Seleeniprojekti . UusiPiiri. Haettu 29. kesäkuuta 2014. Arkistoitu alkuperäisestä 12. elokuuta 2014.
  5. seleeni: Selaimen automaatiokehys ja ekosysteemi , 2017-12-31 , < https://github.com/SeleniumHQ/selenium > Arkistoitu 19. helmikuuta 2020 Wayback Machinessa 
  6. php-webdriver: php-asiakasohjelma webdriverille . – 17.6.2017. Arkistoitu alkuperäisestä 17. toukokuuta 2017.
  7. Marionette  . _ Mozilla Developer Network. Haettu 19. kesäkuuta 2017. Arkistoitu alkuperäisestä 12. syyskuuta 2017.
  8. 1 2 Selenium Browser Automation Project - Driver -  vaatimukset . Haettu 8. helmikuuta 2021. Arkistoitu alkuperäisestä 4. maaliskuuta 2021.

Linkit