logo

Selenium-webdriver

Selenium WebDriver is het belangrijkste onderdeel van Selenium Tool's Suite. De nieuwste release 'Selenium 2.0' is geïntegreerd met WebDriver API, die een eenvoudigere en beknoptere programmeerinterface biedt.

java booleaans

De volgende afbeelding geeft u een goed inzicht in Selenium-componenten en de testautomatiseringstools.


Selenium-webdriver

Selenium WebDriver werd voor het eerst geïntroduceerd als onderdeel van Selenium v2.0. De eerste versie van Selenium, dat wil zeggen Selenium v1, bestond alleen uit IDE, RC en Grid. Met de release van Selenium v3 is RC echter verouderd en verplaatst naar een verouderd pakket.

In WebDriver kunnen testscripts worden ontwikkeld met behulp van elk van de ondersteunde programmeertalen en kunnen ze rechtstreeks in de meeste moderne webbrowsers worden uitgevoerd. Talen die door WebDriver worden ondersteund, zijn onder meer C#, Java, Perl, PHP, Python en Ruby.

Voordat u de concepten van Selenium WebDriver leert, moet u goed bekend zijn met alle ondersteunde programmeertalen. Momenteel is de Selenium Web-driver het populairst bij Java en C#. Voor deze tutorial gebruiken we Selenium met Java. U kunt de onderstaande links raadplegen om zowel basis- als geavanceerde concepten van Java en C# te leren:

Java-zelfstudie: https://www.javatpoint.com/java-tutorial

C#-zelfstudie: https://www.javatpoint.com/c-sharp-tutorial

Selenium WebDriver presteert veel sneller in vergelijking met Selenium RC omdat het rechtstreekse oproepen naar de webbrowsers maakt. RC heeft daarentegen een RC-server nodig om met de browser te communiceren.

WebDriver heeft een ingebouwde implementatie van het Firefox-stuurprogramma (Gecko Driver). Voor andere browsers moet u hun browserspecifieke stuurprogramma's aansluiten om te communiceren en de test uit te voeren. De meest gebruikte WebDriver's zijn onder meer:

  • Google Chrome-stuurprogramma
  • Internet Explorer-stuurprogramma
  • Opera-chauffeur
  • Safari-stuurprogramma
  • HTML Unit Driver (een speciaal headless stuurprogramma)

Selenium WebDriver-architectuur

Selenium WebDriver API biedt communicatiefaciliteiten tussen talen en browsers.

De volgende afbeelding toont de architecturale weergave van Selenium WebDriver.


Selenium WebDriver-architectuur

Er zijn vier basiscomponenten van WebDriver Architecture:

  • Selenium-taalbindingen
  • JSON-draadprotocol
  • Browserstuurprogramma's
  • Echte browsers

Selenium-taalbindingen / Selenium-clientbibliotheken

Selenium-ontwikkelaars hebben taalbindingen/Selenium Client Libraries gebouwd om meerdere talen te ondersteunen. Als u bijvoorbeeld het browserstuurprogramma in Java wilt gebruiken, gebruikt u de Java-bindingen. Alle ondersteunde taalbindingen kunnen worden gedownload van de officiële website (https://www.seleniumhq.org/download/#client-drivers) van Selenium.

JSON-draadprotocol

JSON (JavaScript Object Notation) is een open standaard voor het uitwisselen van gegevens op internet. Het ondersteunt datastructuren zoals object en array. Het is dus eenvoudig om gegevens uit JSON te schrijven en te lezen. Ga voor meer informatie over JSON naar https://www.javatpoint.com/json-tutorial

JSON Wire Protocol biedt een transportmechanisme om gegevens over te dragen tussen een server en een client. JSON Wire Protocol dient als industriestandaard voor verschillende REST-webservices. Ga voor meer informatie over webservices naar https://www.javatpoint.com/web-services-tutorial

Browserstuurprogramma's

Selenium gebruikt stuurprogramma's die specifiek zijn voor elke browser om een ​​veilige verbinding met de browser tot stand te brengen zonder de interne logica van de functionaliteit van de browser prijs te geven. Het browserstuurprogramma is ook specifiek voor de taal die wordt gebruikt voor automatisering, zoals Java, C#, enz.

Wanneer we een testscript uitvoeren met WebDriver, worden de volgende bewerkingen intern uitgevoerd.

  • Voor elke Selenium-opdracht wordt een HTTP-verzoek gegenereerd en naar het browserstuurprogramma verzonden.
  • Het stuurprogramma ontvangt het HTTP-verzoek via de HTTP-server.
  • HTTP Server beslist over alle stappen om instructies uit te voeren die in de browser worden uitgevoerd.
  • De uitvoeringsstatus wordt teruggestuurd naar de HTTP-server, die vervolgens wordt teruggestuurd naar het automatiseringsscript.

Browsers

Browsers ondersteund door Selenium WebDriver:

  • Internet Explorer
  • Mozilla Firefox
  • Google Chrome
  • Safari

Selenium WebDriver-functies

Enkele van de belangrijkste kenmerken van Selenium WebDriver zijn:

    Ondersteuning voor meerdere browsers: Selenium WebDriver ondersteunt een breed scala aan webbrowsers zoals Firefox, Chrome, Internet Explorer, Opera en nog veel meer. Het ondersteunt ook enkele niet-conventionele of zeldzame browsers zoals HTMLUnit.

Selenium WebDriver-functies
    Ondersteuning voor meerdere talen: WebDriver ondersteunt ook de meeste veelgebruikte programmeertalen zoals Java, C#, JavaScript, PHP, Ruby, Pearl en Python. De gebruiker kan dus een van de ondersteunde programmeertalen kiezen op basis van zijn/haar competentie en beginnen met het bouwen van de testscripts.Snelheid: WebDriver presteert sneller in vergelijking met andere tools van Selenium Suite. In tegenstelling tot RC is er geen tussenliggende server nodig om met de browser te communiceren; in plaats daarvan communiceert de tool rechtstreeks met de browser.

Selenium WebDriver-functies
    Eenvoudige commando's: De meeste opdrachten die in Selenium WebDriver worden gebruikt, zijn eenvoudig te implementeren. Om bijvoorbeeld een browser in WebDriver te starten, worden de volgende opdrachten gebruikt:
    WebDriver-stuurprogramma = nieuwe FirefoxDriver(); (Firefox-browser)
    WebDriver-stuurprogramma = nieuwe ChromeDriver(); (Chrome-browser)
    WebDriver-stuurprogramma = nieuwe InternetExplorerDriver(); (Internet Explorer-browser)WebDriver- Methoden en klassen: WebDriver biedt meerdere oplossingen om een ​​aantal potentiële uitdagingen bij het automatiseren van testen het hoofd te bieden.
    Met WebDriver kunnen testers ook omgaan met complexe soorten webelementen, zoals selectievakjes, vervolgkeuzelijsten en waarschuwingen via dynamische vinders.

Selenium WebDriver-functies

Selenium WebDriver-zelfstudie-index


Selenium WebDriver-zelfstudie

  • Strategieën lokaliseren
  • Strategieën lokaliseren op ID
  • Strategieën op naam lokaliseren
  • Strategieën lokaliseren op klassenaam
  • Strategieën lokaliseren op tagnaam
  • Strategieën lokaliseren via linktekst
  • Strategieën lokaliseren op basis van gedeeltelijke linktekst
  • Strategieën lokaliseren via CSS
  • Strategieën lokaliseren door XPath
  • Afhandeling van drop-downs
  • WebDriver-slepen en neerzetten
  • WebDriver-afhandelingswaarschuwingen
  • Door een webpagina scrollen
  • WebDriver - Browseropdrachten
  • WebDriver - Navigatieopdrachten
  • WebDriver - WebElement-opdrachten
  • Omgaan met keuzerondjes
  • Afhandeling van selectievakje
  • Selenium beweringen
  • Selenium-raster