selenium locators identify web elements using xpath selenium
Selenium Locators-zelfstudie: leer hoe u webelementen kunt identificeren met behulp van XPath in Selenium met voorbeelden
In de vorige tutorial hebben we u kennis laten maken met een andere automatiseringstesttool genaamd Firebug. We hebben ook handmatig ons eigen automatiseringsscript gemaakt met Firebug en zijn mogelijkheden. We hebben ook geleerd om de gewenste wijzigingen in ons script aan te brengen.
Verderop zouden we in deze tutorial de verschillende soorten locators in Selenium en hun toegankelijkheidstechniek om testscripts te bouwen Deze tutorial bestaat dus uit een gedetailleerde inleiding tot verschillende soorten locators.
Dit is onze 5e les in Selenium-zelfstudie serie.
Wat is locator?
De locator kan worden aangeduid als een adres dat een webelement uniek identificeert binnen de webpagina. Locators zijn de HTML-eigenschappen van een webelement dat het selenium vertelt over het webelement waarop het de actie moet uitvoeren.
Er is een breed scala aan webelementen. De meest voorkomende zijn:
- Tekstvak
- Knop
- Laten vallen
- Hyperlink
- Selectievakje
- Radio knop
Wat je leert:
- Soorten locators
- ID gebruiken als locator
- ClassName gebruiken als een locator
- Naam gebruiken als locator
- Linktekst gebruiken als zoeker
- XPath gebruiken als een locator
- Gevolgtrekking
- Aanbevolen literatuur
Soorten locators
Het identificeren van deze elementen is altijd een erg lastig onderwerp geweest en vereist daarom een nauwkeurige en effectieve aanpak. Daarbij kunnen we stellen dat effectiever de locator, stabieler het automatiseringsscript zal zijn. In wezen vereist elke Selenium-opdracht locators om de webelementen te vinden. Om deze webelementen nauwkeurig en precies te identificeren, hebben we dus verschillende soorten locators.
Laten we het nu verder begrijpen door ze allemaal afzonderlijk te oefenen.
Voordat we beginnen met de locators, wil ik even de tijd nemen om de te testen applicatie te introduceren. We zouden ‘https://accounts.google.com/’ gebruiken om verschillende soorten webelementen te vinden met behulp van verschillende typen locators.
ID gebruiken als locator
De beste en meest populaire methode om een webelement te identificeren, is door ID te gebruiken. De ID van elk element zou uniek zijn.
In dit voorbeeld hebben we toegang tot het tekstvak 'E-mail' in het aanmeldingsformulier op gmail.com.
Een ID van een webelement zoeken met Firebug
datagedreven raamwerk in selenium webdriver
Stap 1 : Start de webbrowser (Firefox) en ga naar 'https://accounts.google.com/'.
Stap 2 : Open firebug (door op F12 te drukken of via tools).
Stap 3 : Klik op het inspectiepictogram om het webelement te identificeren.
Stap 4 : Plaats de muisaanwijzer op het webelement (in ons geval e-mailtekstvak) waarop we een actie willen uitvoeren. In de firebug-sectie kan men zien dat de corresponderende HTML-tags gemarkeerd zijn.
Stap 5 : Wees op de hoogte van het ID-kenmerk en noteer het. Nu moeten we controleren of de geïdentificeerde ID het element uniek en foutloos kan vinden.
Syntaxis : id = id van het element
In ons geval is de id 'E-mail'.
Andere aanpak:
In plaats van stap 2 tot 4 te volgen, kunnen we het webelement direct lokaliseren / inspecteren door met de rechtermuisknop op het webelement (Email Textbox) te klikken waarvan we de locatorwaarde moeten inspecteren en door op de optie 'Inspect Element with Firebug' te klikken. Deze klikgebeurtenis activeert dus de uitbreiding van de firebug-sectie en de bijbehorende HTML-tag wordt gemarkeerd.
Controleer de locatorwaarde
Ervan uitgaande dat de browser open is en wordt omgeleid naar 'https://accounts.google.com/'.
Stap 1 : Lancering Selenium IDE.
Stap 2 : Klik op de eerste rij in het editorgedeelte.
Stap 3 : Typ 'id = Email', d.w.z. de locatorwaarde in het doelvak.
Stap 4 : Klik op de knop Zoeken. Als de opgegeven locatorwaarde legitiem is, wordt het tekstvak E-mail gemarkeerd met een gele kleur met een fluorescerende groene rand rond het veld. Als de opgegeven locatorwaarde onjuist is, wordt er een foutbericht afgedrukt in het logvenster onderaan Selenium IDE.
Zaak 1 - Locatorwaarde = correct
Geval 2 - Locatorwaarde = onjuist
Stap 5 : Om verder te verifiëren, kan een gebruiker ook de opdracht 'type' uitvoeren voor het opgegeven doel door een waarde op te geven in het veld 'Waarde'. Als de uitvoering van de opdracht de opgegeven waarde in het tekstvak E-mail invoert, betekent dit dat het geïdentificeerde locatortype correct en toegankelijk is.
ClassName gebruiken als een locator
Er is slechts een subtiel verschil tussen het gebruik van ID als locator en het gebruik van de klassenaam als locator.
In dit voorbeeld hebben we toegang tot 'Hulp nodig?' hyperlink aanwezig onderaan het inlogformulier op gmail.com.
Een klassenaam van een webelement zoeken met Firebug
Stap 1 : Lokaliseer / inspecteer het webelement ('Hulp nodig?' -Link in ons geval) door met de rechtermuisknop te klikken op het webelement waarvan we de locatorwaarde moeten inspecteren en door op de optie 'Element inspecteren met Firebug' te klikken.
Stap 2 : Wees op de hoogte van het kenmerk van de klassenaam en noteer het. Nu moeten we controleren of de geïdentificeerde klassenaam het element uniek en nauwkeurig kan vinden.
Syntaxis class = classname van het element
In ons geval is de klassenaam 'need-help-reverse'
Controleer de locatorwaarde
Stap 1 : Typ 'class = need-help-reverse' in het doelvak in de Selenium IDE.
Stap 2 : Klik op de knop Zoeken. Merk op dat de hyperlink wordt gemarkeerd met een gele kleur met een fluorescerende groene rand rond het veld.
(Klik om een vergrote afbeelding te bekijken)
Naam gebruiken als locator
Het lokaliseren van een webelement met behulp van de naam is sterk analoog aan de vorige twee locatortypen. Het enige verschil zit in de syntaxis.
In dit voorbeeld hebben we toegang tot het tekstvak 'Wachtwoord' dat aanwezig is in het aanmeldingsformulier op gmail.com.
Syntaxis: name = naam van het element
In ons geval is de naam 'Passwd'.
Controleer de locatorwaarde
Stap 1 : Typ 'name = Passwd' in het doelvak en klik op de knop Zoeken. Merk op dat het tekstvak 'Wachtwoord' gemarkeerd zou zijn.
waar kun je gratis anime online kijken
Linktekst gebruiken als zoeker
Alle hyperlinks op een webpagina kunnen worden geïdentificeerd met Link Text. De links op een webpagina kunnen worden bepaald met behulp van een ankertag ( De ankertag wordt gebruikt om de hyperlinks op een webpagina te maken en de tekst tussen het openen en sluiten van ankertags vormt de linktekst ( Sommige tekst
In dit voorbeeld zouden we toegang krijgen tot de link “Maak een account” onderaan het inlogformulier op gmail.com.
Een linktekst van een webelement zoeken met Firebug
Stap 1 : Lokaliseer / inspecteer het webelement (in ons geval 'Create an account' -link) door met de rechtermuisknop te klikken op het webelement waarvan we de locatorwaarde moeten inspecteren en door te klikken op de optie 'Inspect Element with Firebug'.
Stap 2 : Wees op de hoogte van de tekst in het tags en noteer deze. Daarom wordt deze tekst gebruikt om de link op een webpagina uniek te identificeren.
(Klik om een vergrote afbeelding te bekijken)
Syntaxis link = linktekst van het element
In ons geval is de linktekst 'Maak een account aan'.
Controleer de locatorwaarde
Stap 1 : Typ 'link = Create an account', d.w.z. de locatorwaarde in het doelvak in Selenium IDE.
Stap 2 : Klik op de knop Zoeken. Merk op dat de link zou worden gemarkeerd met een gele kleur met een fluorescerende groene rand rond het veld.
XPath gebruiken als een locator
Xpath wordt gebruikt om een webelement te lokaliseren op basis van zijn XML-pad. XML staat voor Extensible Markup Language en wordt gebruikt om willekeurige gegevens op te slaan, te ordenen en te transporteren. Het slaat gegevens op in een sleutel / waarde-paar dat sterk lijkt op HTML-tags. Beide zijn de opmaaktalen en omdat ze onder dezelfde paraplu vallen, kan xpath worden gebruikt om HTML-elementen te lokaliseren.
Het fundamentele achter het lokaliseren van elementen met behulp van Xpath is het doorlopen tussen verschillende elementen over de hele pagina, waardoor een gebruiker een element kan vinden met de referentie van een ander element.
Xpath kan op twee manieren worden gemaakt:
Relatieve Xpath
Relatief Xpath begint vanaf de huidige locatie en wordt voorafgegaan door een '//'.
interviewvragen en antwoorden voor kwaliteitsborging voor eerstejaarsstudenten
Bijvoorbeeld: // span (@ class = ’E-mail’)
Absoluut Xpath
Absoluut Xpath begint met een root-pad en wordt voorafgegaan door een '/'.
Bijvoorbeeld: / HTML / body / div / div (@ id = ’E-mail’)
Belangrijkste punten:
- Het slagingspercentage bij het vinden van een element met Xpath is te hoog. Samen met de vorige verklaring kan Xpath relatief alle elementen op een webpagina vinden. Xpaths kunnen dus worden gebruikt om elementen te lokaliseren zonder id, klasse of naam.
- Het maken van een geldig Xpath is een lastig en complex proces. Er zijn plug-ins beschikbaar om Xpath te genereren, maar meestal kunnen de gegenereerde Xpaths het webelement niet correct identificeren.
- Bij het maken van xpath moet de gebruiker op de hoogte zijn van de verschillende nomenclaturen en protocollen.
Selenium XPath-voorbeelden:
Xpath Checker
Het maken van Xpath wordt een beetje eenvoudiger door Xpath Checker te gebruiken. Xpath Checker is een add-on voor Firefox om automatisch Xpath voor een webelement te genereren. De add-on kan worden gedownload en geïnstalleerd zoals elke andere plug-in. De plug-in kan worden gedownload van “https://addons.mozilla.org/en-US/firefox/addon/xpath-checker/”.
Zodra de plug-in is geïnstalleerd, kan deze in het contextmenu worden bekeken door met de rechtermuisknop op een element te klikken waarvan we het xpath willen genereren.
Klik op 'View Xpath' om de Xpath-expressie van het element te zien. Er verschijnt een editorvenster met de gegenereerde Xpath-expressie. Nu heeft de gebruiker de vrijheid om de gegenereerde Xpath-expressie te bewerken en te wijzigen. De bijbehorende resultaten zouden cumulatief worden bijgewerkt.
Merk op dat de XPath Checker ook beschikbaar is voor andere browsers.
Maar herhalend dat de gegenereerde Xpaths meestal het webelement niet correct identificeren. Daarom wordt aanbevolen om ons eigen Xpath te creëren volgens de vooraf gedefinieerde regels en protocollen.
In dit voorbeeld hebben we toegang tot de 'Google' -afbeelding die bovenaan het inlogformulier op gmail.com staat.
Een Xpath van een webelement maken
Stap 1 : Typ '// img (@ class =’ logo ’)', d.w.z. de locatorwaarde in het doelvak binnen de Selenium IDE.
Syntaxis Xpath van het element
Stap 2 : Klik op de knop Zoeken. Merk op dat de afbeelding zou worden gemarkeerd met een gele kleur met een fluorescerende groene rand rond het veld.
Gevolgtrekking
Hier zijn de kernpunten van dit artikel.
- Locators zijn de HTML-eigenschappen van een webelement dat het Selenium vertelt over het webelement waarop het acties moet uitvoeren.
- Er is een breed scala aan webelementen waarmee een gebruiker regelmatig moet communiceren. Sommigen van hen zijn: tekstvak, knop, vervolgkeuzelijst, hyperlink, selectievakje en keuzerondje.
- Met het gevarieerde scala aan webelementen komt er een uitgebreide reeks strategieën / benaderingen om deze webelementen te lokaliseren.
- Enkele van de veelgebruikte locatortypen zijn ID, ClassName, Link Text, XPath, CSS Selectors en Name.
Opmerking: aangezien het maken van CSS Selector en XPath veel inspanning en oefening vereist, wordt het proces alleen uitgeoefend door meer geavanceerde en getrainde gebruikers.
In deze tutorial hebben we verschillende soorten locators geleerd, waaronder Selenium Xpath.
Volgende les # 6 In vervolg op deze tutorial over Selenium Locator-typen zullen we leren hoe te gebruiken CSS Selector als een locator.
Heeft u vragen? Laat het ons weten in reacties. We zullen proberen alles op te lossen.
Aanbevolen literatuur
- Selenium Find Element By Text Tutorial met voorbeelden
- 30+ beste selenium-zelfstudies: leer selenium met echte voorbeelden
- Elementen zoeken in Chrome- en IE-browsers voor het bouwen van Selenium-scripts - Selenium-zelfstudie # 7
- Omgaan met webtabellen, frames en dynamische elementen in Selenium Script - Selenium Tutorial # 18
- Gebruik van Selenium Selecteer klasse voor het omgaan met vervolgkeuzelijsten op een webpagina - Selenium-zelfstudie # 13
- Cucumber Selenium Tutorial: Cucumber Java Selenium WebDriver Integration
- CSS Selector gebruiken voor het identificeren van webelementen voor Selenium-scripts - Selenium-zelfstudie # 6
- Controleer de zichtbaarheid van webelementen met behulp van verschillende typen WebDriver-opdrachten - Selenium Tutorial # 14