Articles

Wat is Selenium? Introduction to Selenium Automation Testing

Wat is Selenium?

Selenium is een vrij (open-source) geautomatiseerd testkader dat wordt gebruikt om webtoepassingen te valideren in verschillende browsers en platforms. U kunt meerdere programmeertalen zoals Java, C#, Python etc gebruiken om Selenium Test Scripts te maken. Testen gedaan met behulp van de selenium testing tool wordt meestal aangeduid als Selenium testen.

Seleniumsoftware is niet slechts een enkel hulpmiddel, maar een reeks software, elk stuk dat aan verschillende Selenium QA-testbehoeften van een organisatie voldoet. Hier is de lijst van gereedschappen

  • Selenium Integrated Development Environment (IDE)
  • Selenium Remote Control (RC)
  • WebDriver
  • Selenium Grid

Inleiding tot Selenium
Inleiding tot Selenium

Op dit moment, Selenium RC en WebDriver worden samengevoegd in één kader te vormen Selenium 2. Selenium 1 verwijst overigens naar Selenium RC.

Klik hier als de video niet toegankelijk is

In deze tutorial leert u:

  • Wat is Selenium?
  • Wie heeft Selenium ontwikkeld?
  • dezelfde oorsprong beleidskwestie
  • geboorte van selenium Remote Control (Selenium RC)
  • geboorte van Selenium Grid
  • geboorte van Selenium IDE
  • geboorte van WebDriver
  • geboorte van Selenium 2
  • dus, waarom de naam Selenium?
  • korte introductie Selenium IDE
  • korte introductie Selenium Remote Control (Selenium RC)
  • korte introductie WebDriver
  • Selenium Grid
  • opmerking over Browser en Omgevingsondersteuning
  • Hoe kiest u de juiste selenium Tool voor uw behoefte
  • een vergelijking tussen Selenium en QTP(nu UFT)
  • voordelen van QTP over selenium

wie heeft selenium ontwikkeld?

omdat Selenium een verzameling van verschillende gereedschappen is, had het ook verschillende ontwikkelaars. Hieronder staan de belangrijkste personen die opmerkelijke bijdragen hebben geleverd aan het Seleniumproject

Inleiding tot Selenium

primair selenium werd gecreëerd door Jason Huggins in 2004. Als ingenieur bij ThoughtWorks werkte hij aan een webapplicatie die regelmatig moest worden getest. Nadat hij zich realiseerde dat de herhaalde handmatige testen van hun toepassing steeds meer en meer inefficiënt 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, en maakte JavaScriptRunner open-source die later werd omgedoopt tot Seleniumkern.

dezelfde kwestie van het Oorsprongbeleid

hetzelfde Oorsprongbeleid verbiedt dat JavaScript-code toegang krijgt tot elementen van een domein dat verschilt van waar het is gestart. Voorbeeld, de HTML-code in www.google.com maakt gebruik van een JavaScript programma “randomScript.js”. Hetzelfde oorsprongbeleid staat alleen randomScript toe.js om toegang te krijgen tot pagina ’s binnen google.com zoals: google.com/mail, google.com/login, of google.com/signup. echter, het kan geen toegang tot pagina’ s van verschillende sites, zoals yahoo.com/search of guru99.com omdat ze behoren tot verschillende domeinen.

Inleiding tot Selenium

Dit is de reden waarom testers voorafgaand aan Selenium RC lokale kopieën moesten installeren van zowel Seleniumkern (een JavaScript-programma) als de webserver die de te testen webtoepassing bevat, zodat ze tot hetzelfde domein zouden behoren

geboorte van Selenium Remote Control (Selenium RC)

inleiding tot selenium

helaas; testers met behulp van Selenium Core moest de hele applicatie te testen en de webserver te installeren op hun eigen lokale computers als gevolg van de beperkingen opgelegd door dezelfde oorsprong beleid. Dus de ingenieur van een ander denkwerk, Paul Hammant, besloot een server te maken die zal fungeren als een HTTP-proxy om de browser te laten geloven dat Seleniumkern en de webapplicatie die wordt getest uit hetzelfde domein komen. Dit systeem werd bekend als de selenium Afstandsbediening of Selenium 1.

geboorte van het Seleniumraster

Inleiding tot Selenium

Seleniumraster werd ontwikkeld door Patrick Lightbody om de uitvoeringstijden van de test zoveel mogelijk te beperken. In eerste instantie noemde hij het systeem “Hosted QA.”Het was in staat om het vastleggen van browser screenshots tijdens belangrijke fasen, en ook van het verzenden van Selenium commando’ s naar verschillende machines tegelijkertijd.

geboorte van Selenium IDE

Inleiding tot Selenium

Shinya Kasatani uit Japan creëerde Selenium IDE, een Firefox extensie die de browser kan automatiseren via een record-and-playback functie. Hij kwam met dit idee om de snelheid bij het maken van testcases verder te verhogen. Hij schonk Selenium IDE aan het Selenium Project in 2006.

geboorte van WebDriver

Inleiding tot Selenium Simon Stewart creëerde WebDriver circa 2006 toen browsers en webapplicaties krachtiger en restrictiever werden met JavaScript-programma ‘ s zoals Selenium Core. Het was het eerste cross-platform testkader dat de browser kon controleren vanaf het OS-niveau. in 2008 besloot het hele Selenium Team om WebDriver en Selenium RC samen te voegen tot een krachtigere tool genaamd Selenium 2, Met WebDriver als kern. Momenteel wordt Selenium RC nog ontwikkeld, maar alleen in onderhoudsmodus. De meeste inspanningen van het Seleniumproject zijn nu gericht op Selenium 2.

dus, waarom de naam Selenium?

De naam Selenium kwam van een grap die Jason ooit tegen zijn team heeft gekraakt. Tijdens de ontwikkeling van Selenium was een ander geautomatiseerd testraamwerk populair gemaakt door het bedrijf Mercury Interactive (ja, het bedrijf dat QTP oorspronkelijk maakte voordat het door HP werd overgenomen). Omdat Selenium een bekend tegengif is voor kwikvergiftiging, suggereerde Jason dat de naam en zijn teamgenoten het Namen. Zo hebben we dit kader tot op heden kunnen noemen.

oorsprong van de naam van Selenium framework

Korte Inleiding Selenium IDE

Selenium Integrated Development Environment (IDE) is het eenvoudigste framework in de selenium suite en is het makkelijkst te leren. Het is een Firefox plugin die u kunt installeren zo gemakkelijk als je kunt met andere plugins. Vanwege zijn eenvoud mag Selenium IDE echter alleen worden gebruikt als een prototyping tool. Als u meer geavanceerde testcases wilt maken, moet u Selenium RC of WebDriver gebruiken.

voors en tegens van Selenium IDE

korte introductie Selenium Remote Control (Selenium RC)

Selenium RC was lange tijd het vlaggenschip van het hele Seleniumproject. Dit is de eerste geautomatiseerde web testing tool die gebruikers in staat gesteld om een programmeertaal gebruiken ze liever. Vanaf versie 2.25.0 kan RC de volgende programmeertalen ondersteunen:

  • Java
  • C#
  • PHP
  • Python
  • Perl
  • Ruby

voors en tegens van Selenium RC

Korte Inleiding WebDriver

de webdriver blijkt in veel opzichten beter te zijn dan zowel Selenium IDE als selenium RC. Het implementeert een meer moderne en stabiele aanpak in het automatiseren van de browser acties. WebDriver, in tegenstelling tot Selenium RC, is niet afhankelijk van JavaScript voor Selenium automatisering testen. Het bestuurt de browser door er direct mee te communiceren.

de ondersteunde talen zijn dezelfde als die in Selenium RC.

  • Java
  • C#
  • PHP
  • Python
  • Perl
  • Ruby

voors en tegens van Selenium Webdriver

Selenium Grid

selenium Grid is een tool die samen met selenium RC wordt gebruikt om parallelle tests op verschillende machines en verschillende browsers tegelijkertijd uit te voeren. Parallelle uitvoering betekent meerdere tests tegelijk uitvoeren.

kenmerken:

  • maakt het gelijktijdig uitvoeren van tests in meerdere browsers en omgevingen mogelijk.
  • bespaart tijd enorm.
  • maakt gebruik van het hub-en-nodes-concept. De hub fungeert als een centrale bron van Selenium commando ‘ s aan elk knooppunt aangesloten op het.

opmerking over Browser-en Omgevingsondersteuning

vanwege hun architecturale verschillen ondersteunen Selenium IDE, Selenium RC en WebDriver verschillende sets browsers en besturingsomgevingen.

Selenium IDE WebDriver
Browser Support Mozilla Firefox Internet Explorer versions 6 to 11, both 32 and 64-bit
Microsoft Edge version 12.10240 & above ( partial support some functionalities under development)
Firefox 3.0 and above
Google Chrome 12.0. and above
Opera 11.5 and above
Android – 2.3 en hoger voor telefoons en tablets
apparaten & emulators)
iOS 3+ voor telefoons (apparaten & emulators) en 3.2+ voor tablets (apparaten & emulators)
HtmlUnit 2.9 en boven
Operating Systeem Windows, Mac OS X, Linux Alle besturingssystemen waar de browsers hierboven kan uitvoeren.

opmerking: Selenium WebDriver wordt genoemd als de opvolger van Selenium RC die is verouderd & officieel aangekondigd door SeleniumHQ.

het juiste Seleniumgereedschap kiezen voor uw behoefte

Selenium RC

Tool
Waarom kiezen?

Selenium IDE

  • To learn about concepts on automated testing and Selenium, including:
  • Selenese commands such as type, open, clickAndWait, assert, verify, etc.
  • Locators such as id, name, xpath, css selector, etc.
  • Executing customized JavaScript code using runScript
  • Exporting test cases in various formats.
  • om tests aan te maken met weinig of geen voorkennis in programmeren.
  • om eenvoudige testcases en TestSuites te maken die u later kunt exporteren naar RC of WebDriver.
  • om een webtoepassing alleen te testen tegen Firefox en Chrome.
  • om een test te ontwerpen met behulp van een expressievere taal dan Selenees
  • om uw test uit te voeren tegen verschillende browsers (behalve HtmlUnit) op verschillende besturingssystemen.
  • om uw tests te implementeren in meerdere omgevingen met behulp van Selenium raster.
  • om uw toepassing te testen met een nieuwe browser die JavaScript ondersteunt.
  • om webapplicaties te testen met complexe AJAX-gebaseerde scenario ‘ s.

WebDriver

  • om een bepaalde programmeertaal te gebruiken bij het ontwerpen van uw testcase.
  • om toepassingen te testen die rijk zijn aan Ajax-gebaseerde functionaliteiten.
  • om tests uit te voeren op de HtmlUnit-browser.
  • om aangepaste testresultaten te maken.

Selenium Grid

  • om uw Selenium RC-scripts gelijktijdig in meerdere browsers en besturingssystemen uit te voeren.
  • om een enorme test suite uit te voeren, die binnen de kortst mogelijke tijd moet worden voltooid.

a Comparison between Selenium and QTP(now UFT)

Quick Test Professional(QTP) is a proprietary automated testing tool before it were acquired by the company Mercury Interactive before it was acquired by Hewlett-Packard in 2006. De Selenium Tool Suite heeft vele voordelen ten opzichte van QTP, zoals hieronder aangegeven –

voordelen en de Voordelen van Selenium over QTP

Selenium
QTP
Open source, gratis te gebruiken en gratis. Commercieel.
Zeer uitbreidbaar Beperkte add-ons
Kan testen in verschillende browsers Kan alleen worden uitgevoerd testen in Firefox Internet Explorer en Chrome
Ondersteunt diverse operating systemen Kan alleen worden gebruikt in Windows
Ondersteunt mobiele apparaten QTP Ondersteunt Mobiele app test automation (iOS & Android) met behulp van HP-oplossing genoemd – HP Mobile Center
Kan het uitvoeren van tests, terwijl de browser wordt geminimaliseerd Moet de aanvraag in het kader van test om zichtbaar te zijn op het bureaublad
kan tests parallel uitvoeren. kan alleen parallel uitvoeren, maar met behulp van Quality Center, wat weer een betaald product is.

Advantages of QTP over Selenium

Advantages of QTP over Selenium
QTP
Selenium
Can test both web and desktop applications Can only test web applications
Comes with a built-in object repository Has no built-in object repository
automatiseert sneller dan Selenium omdat het een volledig uitgeruste IDE is. automatiseert langzamer omdat het geen eigen IDE heeft en alleen IDE van derden kan worden gebruikt voor ontwikkeling
Data-driven testen is gemakkelijker uit te voeren omdat het ingebouwde globale en lokale gegevenstabellen heeft. Data-driven testen is omslachtiger omdat u moet vertrouwen op de mogelijkheden van de programmeertaal voor het instellen van waarden voor uw testgegevens
heeft toegang tot controles in de browser(zoals de favorietenbalk, adresbalk, terug en vooruit knoppen, enz.) kan geen toegang krijgen tot elementen buiten de te testen webtoepassing
biedt professionele klantenondersteuning er wordt geen officiële gebruikersondersteuning aangeboden.
heeft de native mogelijkheid om testgegevens naar externe formaten te exporteren heeft geen native mogelijkheid om runtime-gegevens naar externe formaten te exporteren
parametrering ondersteuning is gebouwd parametrering kan worden gedaan via programmeren, maar is moeilijk te implementeren.
testrapporten worden automatisch gegenereerd geen native ondersteuning om test /bugrapporten te genereren.

hoewel QTP duidelijk meer geavanceerde mogelijkheden heeft, weegt Selenium op tegen QTP in drie hoofdgebieden:

  • Kosten(omdat Selenium is volledig gratis)
  • Flexibiliteit(omdat van een aantal programmeertalen, browsers en platforms ondersteunt)
  • Parallel testen(iets dat QTP in staat is, maar alleen met gebruik van Quality Center)

Overzicht

  • De hele Selenium Testen van Software Suite bestaat uit vier onderdelen:
  • Selenium IDE, een Firefox-add-on die u alleen kunt gebruiken bij het maken van relatief eenvoudige testcases en TestSuites.
  • selenium Remote Control, ook bekend als Selenium 1, is de eerste selenium tool waarmee gebruikers programmeertalen konden gebruiken bij het maken van complexe tests.
  • WebDriver, de nieuwere doorbraak die het mogelijk maakt dat uw testscripts direct met de browser communiceren, waardoor het vanaf het OS-niveau wordt gecontroleerd.
  • Selenium Grid is ook een tool die wordt gebruikt met Selenium RC om parallelle tests uit te voeren over verschillende browsers en besturingssystemen.
  • Selenium RC en WebDriver werden samengevoegd tot Selenium 2.
  • Selenium is voordeliger dan QTP in termen van kosten en flexibiliteit. Het stelt u ook in staat om tests parallel uit te voeren, in tegenstelling tot in QTP waar u alleen tests achtereenvolgens mag uitvoeren.