Selenium
| Selenium
| |
|---|---|
| |
| Basis data
| |
| ontwikkelaar | ThoughtWorks |
| Publicatiejaar | 2004 |
| Huidige versie |
3.141.59 ( 19 december 2018 ) |
| besturingssysteem | Microsoft Windows , Linux , macOS , Solaris , FreeBSD en andere Unix- varianten (gebaseerd op Java ) |
| programmeertaal | Java |
| Licentie | Apache-licentie 2.0 |
| selenium.dev | |
Selenium is een raamwerk voor het geautomatiseerd testen van software van webapplicaties , ontwikkeld door een programmeerteam van ThoughtWorks en gepubliceerd als gratis software onder de Apache 2.0-licentie . Het is een veel gebruikte tool en een van de meest populaire open source testtools.
Met Selenium is het mogelijk om interacties met een webapplicatie vast te leggen en deze testen automatisch zo vaak als nodig te herhalen. Het kan vooral ontwikkelaars van webapplicaties veel typen ontzorgen - bijvoorbeeld bij het invullen van webformulieren - en maakt het testen zo sneller, flexibeler en betrouwbaarder.
Selenium is puur gebaseerd op HTML en JavaScript . Voor een snelle start kan de Selenium IDE worden gebruikt . B. geïnstalleerd en getest worden als een Firefox- add-on: de gebruiker werkt alleen met Firefox, Selenium neemt de test op en speelt deze af.
geschiedenis
Jason Huggins richtte Selenium op in 2004 toen hij een intern testprogramma voor websites schreef voor zijn bedrijf ThoughtWorks . In de loop van de tijd kwamen steeds meer ThoughtWorks-medewerkers bij zijn werk, totdat Paul Hammant uiteindelijk bij het team kwam en de ontwikkeling van het programma leidde in de richting van wat nu Selenium Remote Control (RC) is.
In 2007 stapte Huggins over naar het softwarebedrijf Google , waar hij samen met andere programmeurs de verdere ontwikkeling en bugfixes van het programma leidde. Tegelijkertijd ontwikkelde Simon Stewart de browserbesturing Webdriver bij ThoughtWorks. Omdat het voor de ontwikkelaars van beide projecten niet verstandig leek om twee afzonderlijke projecten vooruit te helpen, besloten ze de twee projecten te combineren tot "Selenium Webdriver" of "Selenium 2.0".
In 2008 ontwikkelde Philippe Hanrigou "Selenium Grid", waarmee verschillende Selenium-instances gelijktijdig op een onbeperkt aantal computers kunnen worden uitgevoerd. Als gevolg hiervan werd de uitvoeringstijd voor grote teststructuren drastisch verkort.
De naam Selenium kwam van een grappige opmerking van Huggins, die in een e-mail zijn concurrent Mercury bespotte door te vermelden dat kwikvergiftiging kan worden genezen door selenium in te nemen .
Versies
Selenium 3
De definitieve versie 3.0 is beschikbaar sinds 13 oktober 2016. Daarin zijn onder meer de volgende wijzigingen of innovaties opgenomen:
- Java
- minimale versie is Java 8.
- WebDriver-gebruikers
- Foutcorrecties en eenvoudige updates vanaf versie 2.x mogelijk.
- Selenium Grid-gebruikers
- Foutcorrecties en eenvoudige updates vanaf versie 2.x mogelijk.
- WebDriver API's
- alleen deze API's worden nog steeds ondersteund.
- Selenium RC API's
- geen ondersteuning meer; Onderdeel van een "legacy" -pakket.
- Firefox-ondersteuning
- Vanaf Firefox 47.0.1 is Mozilla's GeckoDriver vereist.
Componenten
Selenium Core
De kernmodule bevat de volledige basisfunctionaliteit van Selenium, namelijk het testcommando API en de TestRunner. Met behulp van de kernmodule kan de website TestRunner.html met verschillende browsers worden geopend. Dit maakt compatibiliteitstests met verschillende browsertypes mogelijk.
Selenium IDE
Selenium IDE is een add-on voor Google Chrome en Mozilla Firefox , waarmee het mogelijk is om testgevallen rechtstreeks in de browser op te nemen door interactie met een webapplicatie en deze af te spelen in de browser. Naast de pure capture-replay-functionaliteit, kunnen controles worden geïntegreerd met behulp van verifiëren en beweren. Daarnaast wordt het stapsgewijs afspelen van testgevallen, het instellen van breekpunten om de testgevallen te controleren en het hergebruik van gedeelde testsequenties ondersteund. Individuele testcases kunnen worden gecombineerd tot testsuites.
Selenium Remote Control (RC) (verouderd)
RC is een verouderde module die een eigen serverinstantie biedt in de vorm van een proxy . Deze Selenium-server wordt op afstand bestuurd door een Selenium-clientstuurprogramma. Dit kan in verschillende programmeertalen, zoals: B. in Java , .NET , Perl , PHP , Python , Ruby . Met Java kunnen deze testgevallen worden uitgevoerd met bijvoorbeeld JUnit of TestNG . Het maakt testautomatisering van GUI- tests mogelijk in combinatie met continue integratie .
Met de release van Selenium 2 werd Selenium RC vervangen door Selenium WebDriver en gemarkeerd als verouderd, met de release van Selenium 3 werd RC verplaatst naar een ' legacy' -pakket en is het niet langer beschikbaar om te downloaden op de hoofdpagina van het project.
Selenium WebDriver
Selenium WebDriver is de opvolger van Selenium Remote Control. Het accepteert commando's (in Selenese of via de client-API) en stuurt ze door naar een browser. HtmlUnit is een specialiteit . Vanaf versie 3.0 maakt de HtmlUnit geen deel meer uit van de WebDriver. Dit is een headless webbrowser. De Selenium WebDriver wordt geïmplementeerd via een browserdriver, waarbij de meest voorkomende browsers worden ondersteund.
Selenium Grid
Selenium Grid is een uitbreiding van Selenium RC en maakt het mogelijk om parallel tests uit te voeren op meerdere servers om de duur van de testuitvoering te verkorten. Het Selenium-clientstuurprogramma maakt verbinding met de Selenium Hub-component in plaats van de Selenium-server. De hub stuurt op zijn beurt de tests door naar gratis Selenium-servers. Bestaande testcases voor Selenium RC kunnen met kleine aanpassingen ook worden gebruikt met Selenium Grid. De testgevallen moeten echter parallel worden uitgevoerd, b.v. B. met TestNG .
Gebruik van selenium
Diverse softwareproducten in de testomgeving zijn gebaseerd op Selenium, b.v. B .:
- Gradenboog , een end-to-end testraamwerk voor AngularJS- applicaties,
- WebTester , een UI-testautomatiseringsraamwerk
- Appium , een open source testautomatiseringstool voor native en hybride mobiele applicaties (apps)
- BrowserStack , een cloudgebaseerd testplatform voor mobiele en desktop-internettoepassingen
literatuur
- Michael Kain: Selenium. Geautomatiseerd testen van webapplicaties , Open Source Press , ISBN 978-3-937514-57-4 .
- Unmesh Gundecha: Selenium 2 Cookbook , ISBN 978-1-84951-574-0 .
- David Burns: Selenium 2.0 Testing Tools: Beginner's Guide , ISBN 978-1-84951-830-7 .
- C. Titus Brown, Gheorghe Gheorghiu, Jason Huggins: een inleiding tot het testen van webapplicaties met keperstof en selenium , O'Reilly , ISBN 978-0-596-52780-8 .
- Alan John Richardson: Selenium Simplified, Compendium Developments , ISBN 978-0-9567332-1-4 .
- Selenium Testing Tools Interviewvragen die u waarschijnlijk zult worden gesteld , CreateSpace Independent Publishing, ISBN 978-1-4637-6813-3 .
web links
- Officiële website
- Lijst en nieuwsfeed van alle Selenium-blogs
- Analyse en evaluatie van de Selenium-tool
Individueel bewijs
- 19 december 2018 (geopend op 20 december 2018).
- 19 december 2018 (geopend op 4 maart 2021).
-
-
- In: Heise online - heise Developer. Heise Medien, 14 oktober 2016, geraadpleegd op 1 februari 2017 : "een van de meest gebruikte tools in webontwikkeling"
-
- 4 oktober 2016, geraadpleegd op 15 oktober 2016 (aankondiging van Selenium 3 in de blog van de ontwikkelaars).
- Opgehaald op 29 juli 2016 .
