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
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
|
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.
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)
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
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
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
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.
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.
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
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
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 IDE |
|
|
|
WebDriver |
|
Selenium Grid |
|
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
|
|
---|---|
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
|
|
---|---|
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.
Leave a Reply