Wat is Selenium? Introductie Tutorial

Wat is Selenium?

Selenium is een gratis (open-source) geautomatiseerd testframework dat wordt gebruikt om webapplicaties in verschillende browsers en platforms te valideren. U kunt meerdere programmeertalen gebruiken, zoals Java, C#, Python, enz. om te creëren Selenium Testscripts. Testen gedaan met behulp van de Selenium testtool wordt meestal aangeduid als Selenium Testen.

Selenium Gereedschapssuite

Selenium Software is niet zomaar een enkel hulpmiddel, maar een pakket software, waarbij elk onderdeel op een ander doel is gericht Selenium QA-testbehoeften van een organisatie. Hier is de lijst met hulpmiddelen

  • Selenium Geïntegreerde ontwikkelomgeving (IDE)
  • Selenium Afstandsbediening (RC)
  • webdriver
  • Selenium Raster

Selenium Gereedschapssuite

Op het moment, Selenium RC en WebDriver worden samengevoegd tot één enkel raamwerk Selenium 2. Selenium 1 verwijst overigens naar Selenium RC.

Video Tutorial Selenium

Klik hier als de video niet toegankelijk is

Wie ontwikkelde Selenium?

Sinds Selenium is een verzameling van verschillende tools, maar had ook verschillende ontwikkelaars. Hieronder vindt u de belangrijkste personen die opmerkelijke bijdragen hebben geleverd aan de Selenium Project

Ontwikkelde Selenium

In de eerste plaats, Selenium was gemaakt door Jason Huggins in 2004. Als ingenieur bij ThoughWorks werkte hij aan een webapplicatie die regelmatig moest worden getest. Nadat hij zich realiseerde dat het repetitieve handmatige testen van hun applicaties steeds inefficiënter werd, creëerde hij een JavaScript programma dat automatisch de acties van de browser zou controleren. Hij noemde dit programma de “JavaScriptTestRunner. '

Hij zag potentieel in dit idee om andere webapplicaties te helpen automatiseren JavaScriptRunner open-source, dat later werd hernoemd Selenium Kern. Voor degenen die geïnteresseerd zijn in het verkennen van andere opties voor het testen van webapplicaties, bekijk deze eens Selenium alternatieven.

Hetzelfde probleem met het oorsprongsbeleid

Hetzelfde Origin-beleid verbiedt JavaScriptcode van het benaderen van elementen van een domein dat verschilt van waar het is gestart. De HTML-code in www.google.com gebruikt bijvoorbeeld een JavaScriptprogramma "randomScript.js". Hetzelfde oorsprongsbeleid zal randomScript.js alleen toegang geven tot pagina's binnen google.com zoals google.com/mail, google.com/login of google.com/signup. Het kan echter geen toegang krijgen tot pagina's van andere sites zoals yahoo.com/search of guru99.com omdat ze tot verschillende domeinen behoren.

Hetzelfde probleem met het oorsprongsbeleid

Dit is de reden waarom eerder Selenium RC moesten testers lokale kopieën van beide installeren Selenium Kern (een JavaScriptprogramma) en de webserver met de te testen webapplicatie, zodat ze tot hetzelfde domein behoren

Geboorte van Selenium Afstandsbediening (Selenium RC)

Paul Hammant

Helaas; testers gebruiken Selenium Core moest de hele te testen applicatie en de webserver op hun eigen lokale computers installeren vanwege de beperkingen die werden opgelegd door de hetzelfde herkomstbeleid. Dus een andere ingenieur van ThoughWork, Paul Hammant, besloten een server te maken die als HTTP-proxy zal fungeren om de browser te laten geloven dat Selenium Core en de geteste webapplicatie komen uit hetzelfde domein. Dit systeem werd bekend als de Selenium Afstandsbediening or Selenium 1.

Geboorte van Selenium Raster

Patrick Lichtlichaam

Selenium Grid is ontwikkeld door Patrick Lichtlichaam om tegemoet te komen aan de noodzaak om de uitvoeringstijden van tests zoveel mogelijk te minimaliseren. Hij noemde het systeem aanvankelijk “Gehoste QA.” Het was in staat browserscreenshots te maken tijdens belangrijke fasen, en ook van uitzenden Selenium opdrachten tegelijkertijd naar verschillende machines sturen.

Geboorte van Selenium IDE

Shinya Kasatani

Shinya Kasatani van Japan gecreëerd Selenium IDE, een Firefox en Chrome-extensie die de browser kan automatiseren via een opname- en afspeelfunctie. Hij kwam met dit idee om de snelheid bij het maken van testgevallen verder te verhogen. Hij heeft gedoneerd Selenium IDE naar de Selenium Projecteren in 2006.

Geboorte van WebDriver

Simon Stewart

Simon Stewart WebDriver circa gemaakt 2006 toen browsers en webapplicaties krachtiger en restrictiever werden JavaScriptprogramma's zoals Selenium Kern. Het was het eerste platformonafhankelijke testframework dat de browser vanaf besturingssysteemniveau kon besturen.

Geboorte van Selenium 2

In 2008De hele Selenium Het team besloot WebDriver en Selenium RC om een ​​krachtiger hulpmiddel te vormen genaamd Selenium 2met WebDriver is de kern. Momenteel, Selenium RC wordt nog steeds ontwikkeld, maar alleen in onderhoudsmodus. Meeste van de Selenium De inspanningen van het Project zijn nu gericht op Selenium 2.

Dus, waarom de naam Selenium?

De naam Selenium kwam voort uit een grap die Jason ooit tegen zijn team maakte. Tijdens Selenium's ontwikkeling, een andere geautomatiseerd testen raamwerk was populair gemaakt door het bedrijf genaamd Mercury Interactief (ja, het bedrijf dat QTP oorspronkelijk maakte voordat het door HP werd overgenomen). Sinds Selenium is een bekend tegengif voor Mercury vergiftiging suggereerde Jason die naam en zijn teamgenoten namen die over. Dus zo hebben we dit raamwerk tot op heden kunnen noemen.

Waarom de naam Selenium

Wat is Selenium IDE?

Selenium Geïntegreerde ontwikkelomgeving (IDE) is de eenvoudigste raamwerk in de Selenium suite en is de gemakkelijkste om te leren. Het is Chrome en Firefox inpluggen die u net zo eenvoudig kunt installeren als met andere plug-ins. Door zijn eenvoud is het echter Selenium IDE mag alleen worden gebruikt als prototyping-tool. Als u geavanceerdere testgevallen wilt maken, moet u een van beide gebruiken Selenium RC of WebDriver.

Selenium IDE

Wat is Selenium Afstandsbediening (Selenium RC)?

Selenium RC was de vlaggenschip testframework Van het geheel Selenium project al langere tijd. Dit is de eerste geautomatiseerde webtesten tool dat stelt gebruikers in staat een programmeertaal te gebruiken die zij verkiezenVanaf versie 2.25.0 ondersteunt RC de volgende programmeertalen:

Selenium Afstandsbediening (Selenium RC)

Wat is WebDriver?

De WebDriver blijkt beter te zijn dan Selenium IDE en Selenium RC in veel aspecten. Het implementeert een modernere en stabielere aanpak bij het automatiseren van de acties van de browser. WebDriver, in tegenstelling tot Selenium RC, vertrouwt niet op JavaScript voor Selenium Automatisering testen. Het bestuurt de browser door er rechtstreeks mee te communiceren.

De ondersteunde talen zijn dezelfde als die in Selenium RC.

  • Java
  • C#
  • PHP
  • Python
  • Perl
  • Robijn

Webstuurprogramma

Wat is Selenium Rooster?

Selenium Raster is een hulpmiddel gebruikt samen met Selenium RC om te draaien parallelle testen op verschillende machines en verschillende browsers tegelijkertijd. Parallelle uitvoering betekent dat meerdere tests tegelijk worden uitgevoerd.

Kenmerken:

  • Schakelt gelijktijdig uitvoeren van tests in meerdere browsers en omgevingen.
  • Bespaart tijd enorm.
  • Maakt gebruik van de hub-en-knooppunten concept. De hub fungeert als een centrale bron van Selenium commando's naar elk knooppunt dat ermee verbonden is.

Selenium Browser- en omgevingsondersteuning

Vanwege hun architectonische verschillen, Selenium SDI, Selenium RC en WebDriver ondersteunen verschillende browsers en besturingssystemen.

  Selenium IDE webdriver
Browserondersteuning mozilla Firefox en Chrome

Google Chrome 12+

Firefox

Internet Explorer 7+ en Edge

Safari, 

HtmlUnit en PhantomUnit

Operating-systeem Windows, Mac OS X, Linux Alle besturingssystemen waarop de bovenstaande browsers kunnen draaien.

Opmerking: Opera Chauffeur werkt niet meer

Hoe kies je het juiste? Selenium Hulpmiddel voor uw behoefte

Gereedschap Waarom zou je kiezen?
Selenium IDE
  • Om meer te leren over concepten van geautomatiseerd testen en Selenium, Waaronder:
  • Selenese commando's zoals type, open, clickAndWait, assert, verifiëren, etc.
  • Locators zoals id, naam, xpath, css-selector, enz.
  • Maatwerk uitvoeren JavaScriptcode met behulp van runScript
  • Testgevallen exporteren in verschillende formaten.
  • Om tests te maken met weinig of geen voorkennis van programmeren.
  • Om eenvoudige testcases en testsuites te maken die u later naar RC of WebDriver kunt exporteren.
  • Om een ​​webapplicatie tegen te testen Firefox en alleen Chrome.
Selenium RC
  • Een test ontwerpen met een expressievere taal dan Selenees
  • Om uw test uit te voeren met verschillende browsers (behalve HtmlUnit) op verschillende besturingssystemen.
  • Om uw tests in meerdere omgevingen te implementeren met behulp van Selenium Raster.
  • Om uw applicatie te testen tegen een nieuwe browser die ondersteuning biedt JavaScript.
  • Om webapplicaties te testen met complexe AJAX-scenario's.
webdriver
  • Om een ​​bepaalde programmeertaal te gebruiken bij het ontwerpen van uw testcase.
  • Om applicaties te testen die rijk zijn aan AJAX-gebaseerde functionaliteiten.
  • Om tests uit te voeren in de HtmlUnit-browser.
  • Om aangepaste testresultaten te creëren.
Selenium Raster
  • Om je te runnen Selenium RC-scripts in meerdere browsers en besturingssystemen tegelijkertijd.
  • Om een ​​enorme testsuite te kunnen draaien, moet die zo snel mogelijk voltooid zijn.

Een vergelijking tussen Selenium en QTP (nu UFT)

Snelle testprofessional (QTP) is een gepatenteerde geautomatiseerde testtool die voorheen eigendom was van het bedrijf Mercury Interactief voordat Hewlett-Packard het verwierf in 2006. De latere eigenaar is MicroFocus en de tool wordt hernoemd naar UFT one. De Selenium Tool Suite heeft veel voordelen ten opzichte van  QTP Zoals hieronder beschreven -

Voordelen en voordelen van Selenium via QTP

Selenium QTP
Open source, gratis te gebruikenen gratis. Commercieel.
Zeer uitbreidbaar Beperkte toevoegingen
Kan tests uitvoeren verschillende browsers Kan alleen tests uitvoeren Firefox, internet Explorer en Chrome
steunen verschillende besturingssystemen Kan alleen gebruikt worden in Windows
steunen mobiele toestellen QTP Ondersteunt testautomatisering voor mobiele apps (iOS en Android) met behulp van de HP-oplossing genaamd – HP Mobile Center
Kan testen uitvoeren en the browser is geminimaliseerd De geteste applicatie moet zichtbaar zijn op het bureaublad
Kan testen uitvoeren parallel. Kan alleen parallel worden uitgevoerd, maar met behulp van Quality Center, wat opnieuw een betaald product is.

Voordelen van QTP voorbij Selenium

QTP Selenium
Kan testen zowel web- als desktopapplicaties Kan alleen webapplicaties testen
Komt met een ingebouwde objectopslagplaats Heeft geen ingebouwde objectrepository
Automatiseert sneller dan Selenium omdat het een volledig functionele IDE is. Automatiseert langzamer omdat het geen native IDE heeft en alleen IDE van derden kan worden gebruikt voor ontwikkeling.
Datagedreven testen is eenvoudiger uit te voeren omdat het heeft ingebouwde globale en lokale gegevenstabellen. Datagestuurd testen is omslachtiger omdat u moet vertrouwen op de mogelijkheden van de programmeertaal voor het instellen van waarden voor uw testgegevens
Heeft toegang tot bedieningselementen in de browser(zoals de favorietenbalk, adresbalk, knoppen Terug en Volgende, enz.) Geen toegang tot elementen buiten de geteste webapplicatie
Biedt professioneel klantenondersteuning Er wordt geen officiële gebruikersondersteuning aangeboden.
Heeft native vermogen om testgegevens exporteren naar externe formaten Heeft geen native mogelijkheid om runtimegegevens naar externe formaten te exporteren
Ondersteuning voor parametrisering is gebouwd Parametrering kan via programmering worden gedaan, maar is moeilijk te implementeren.
Testrapporten worden automatisch gegenereerd Geen native ondersteuning voor het genereren van test-/bugrapporten.

Hoewel het duidelijk is dat QTP meer geavanceerde mogelijkheden heeft, Selenium weegt zwaarder dan QTP op drie hoofdgebieden:

  • Kosten(omdat Selenium is geheel gratis)
  • Flexibiliteit (vanwege een aantal programmeertalen, browsers en platforms die het kan ondersteunen)
  • Parallel testen(iets waar QTP toe in staat is, maar alleen met gebruik van Quality Center)

Samenvatting

  • De hele Selenium Software Testing Suite bestaat uit vier componenten:
  • Selenium Idee Firefox en chrome add-on die u alleen kunt gebruiken bij het maken van relatief eenvoudige testcases en testsuites.
  • Selenium Afstandsbediening, ook wel bekend als Selenium 1, is de eerste Selenium hulpmiddel waarmee gebruikers programmeertalen konden gebruiken bij het maken van complexe tests.
  • WebDriver is de nieuwere doorbraak waarmee uw testscripts rechtstreeks met de browser kunnen communiceren, waardoor deze vanaf het besturingssysteem worden bestuurd.
  • Selenium Grid is ook een hulpmiddel dat wordt gebruikt bij Selenium RC om parallelle tests uit te voeren op verschillende browsers en besturingssystemen.
  • Selenium RC en WebDriver zijn samengevoegd tot één geheel Selenium 2.
  • Selenium is voordeliger dan Microfocus UFT One in termen van kosten en flexibiliteit.