top 25 selenium webdriver commands that you should know
Top Selenium WebDriver-opdrachten - een fenomenale gids voor automatiseringstesters
Selenium WebDriver is een van de meest populaire open source-tools voor website-automatisering. De meeste van mijn collega-automatiseringstesters geven de voorkeur aan de combinatie van WebDriver met Java.
In deze tutorial bespreek ik 25 routinematig gebruikte Selenium WebDriver-commando's, samen met hun betrokken syntaxis en eenvoudige voorbeelden voor een gemakkelijk begrip.
Wat je leert:
- Soorten opdrachten in WebDriver
- Top 7 Selenium-opdrachten met details
- Lijst met 25 meer populaire WebDriver-opdrachten en voorbeelden
- # 1) krijg ()
- # 2) getCurrentUrl ()
- # 3) findElement (By, by) en klik op ()
- # 4) isEnabled ()
- # 5) findElement (By, by) met sendKeys ()
- # 6) findElement (By, by) met getText ()
- # 7) Verzenden ()
- # 8) findElements (door, door)
- # 9) findElements (By, by) met size ()
- # 10) pageLoadTimeout (tijd, eenheid)
- # 11) implicietWait ()
- # 12) untill () en visibleOfElementLocated ()
- # 13) tot () en alertIsPresent ()
- # 14) getTitle ()
- # 15) Selecteer
- # 16) navigeren ()
- # 17) getScreenshotAs ()
- # 18) moveToElement ()
- # 19) dragAndDrop ()
- # 20) switchTo () en accept (), dismiss () en sendKeys ()
- # 21) getWindowHandle () en getWindowHandles ()
- # 22) getConnection ()
- # 23) DAN
- # 24) assertEquals (), assertNotEquals (), assertTrue () en assertFalse ()
- # 25) sluit () en stop ()
- Gevolgtrekking
- Aanbevolen literatuur
Soorten opdrachten in WebDriver
In de laatste Selenium-tutorial bespraken we de verschillende soorten waarschuwingen tegengekomen bij het testen van webgebaseerde applicaties en hun effectieve manier van werken. We hebben beide soorten waarschuwingen, namelijk 'webgebaseerde waarschuwingen' en 'op vensters gebaseerde waarschuwingen' uitgebreid besproken. We hebben je ook laten kennismaken met nog een ander op Java gebaseerd hulpprogramma genaamd 'Robot Class' om op Windows gebaseerde pop-ups af te handelen.
Vooruit gaan in deze Selenium WebDriver-tutorialserie , zouden we doorgaan verschillende veelgebruikte en routinematig gebruikte Selenium WebDriver-opdrachten We zullen elk van deze Selenium-commando's nauwkeurig en kort bespreken om u in staat te stellen deze commando's effectief te gebruiken wanneer de situatie zich voordoet.
Elk Java-werkbestand voor automatisering begint met het maken van een referentie van de webbrowser die we willen gebruiken, zoals vermeld in de onderstaande syntaxis.
Er zijn verschillende methoden die beschikbaar zijn via de Webdriver-interface. Deze methoden zijn toegankelijk via de instantievariabele bestuurder in een eenvoudig formaat driver.methodName (); Al deze automatiseringsprojecten omvatten het aanroepen van deze methoden en het vergelijken en evalueren van wat ze daadwerkelijk opleveren.
In eenvoudige bewoordingen kunnen we Webdriver-opdrachten over het algemeen classificeren als:
- Browser-opdrachten,
- Krijg commando's,
- Navigatieopdrachten,
- Webelement commando's,
- Actieopdrachten en
- Resultaatopdrachten.
Vanuit de context van handmatig testen, wordt het resultaat van een test, ofwel PASS of FAIL, bepaald door de Result-opdrachten die gewoonlijk de verwachte en daadwerkelijke resultaten vergelijken en de rest zijn Testcase-stappen.
Top 7 Selenium-opdrachten met details
Om een globaal idee te hebben, zouden we de volgende Selenium WebDriver-opdrachten en hun verschillende versies bespreken:
- krijgen() methoden
- Links zoeken op verbind tekst () en gedeeltelijkeLinkText ()
- Meerdere items selecteren in een vervolgkeuzelijst
- Een formulier indienen
- Omgaan met iframes
- dichtbij() en stoppen () methoden
- Afhandeling van uitzonderingen
# 1) get () Methoden
WebDriver-opdracht | Gebruik |
---|---|
getAttribute () | • De opdracht wordt gebruikt om de waarde van het opgegeven attribuut op te halen • De opdracht vereist een enkele stringparameter die verwijst naar een attribuut waarvan we de waarde willen kennen en als resultaat een stringwaarde retourneert. driver.findElement (By.id ('findID')). getAttribute ('waarde'); |
krijgen() | • De opdracht start een nieuwe browser en wordt geopend de opgegeven URL in de browserinstantie • De opdracht heeft een parameter van het type string die gewoonlijk een URL is van de te testen applicatie • Voor Selenium IDE-gebruikers kan het commando veel lijken op het open commando driver.get ('https://google.com'); |
getClass () | De opdracht wordt gebruikt om het Class-object op te halen dat staat voor de runtime-klasse van dit object driver.getClass (); |
getCurrentUrl () | • De opdracht wordt gebruikt om de URL op te halen van de webpagina waartoe de gebruiker momenteel toegang heeft • De opdracht vereist geen parameter en retourneert een tekenreekswaarde driver.getCurrentUrl (); |
getPageSource () | • De opdracht wordt gebruikt om de paginabron op te halen van de webpagina die de gebruiker momenteel bezoekt • De opdracht vereist geen parameter en retourneert een tekenreekswaarde • Het commando kan worden gebruikt met verschillende tekenreeksbewerkingen zoals contains () om de aanwezigheid van de opgegeven tekenreekswaarde boolean result = driver.getPageSource (). bevat ('Tekenreeks om te vinden'); |
getTitle () | • De opdracht wordt gebruikt om de titel op te halen van de webpagina waaraan de gebruiker momenteel werkt. Een null-tekenreeks wordt geretourneerd als de webpagina geen titel heeft • De opdracht vereist geen parameter en retourneert een bijgesneden tekenreekswaarde String title = driver.getTitle (); |
getText () | • Het commando wordt gebruikt om de binnentekst op te halen van het opgegeven webelement • De opdracht vereist geen parameter en retourneert een tekenreekswaarde • Het is ook een van de meest gebruikte commando's voor verificatie van weergegeven berichten, labels, fouten enz. op de webpagina's. String Text = driver.findElement (By.id ('Text')). GetText (); |
getWindowHandle () | • Het commando wordt gebruikt om de situatie aan te pakken wanneer we meer dan één venster hebben om mee om te gaan. • Het commando helpt ons om over te schakelen naar het nieuw geopende venster en voert acties uit in het nieuwe venster. De gebruiker kan ook terugschakelen naar het vorige venster als hij / zij dat wenst. private String winHandleBefore; winHandleBefore = driver.getWindowHandle (); driver.switchTo (). window (winHandleBefore); |
getWindowHandles () | • De opdracht is vergelijkbaar met die van “getWindowHandle ()” met het subtiele verschil dat het helpt om met meerdere vensters om te gaan, d.w.z. wanneer we met meer dan 2 vensters te maken hebben. |
Het codefragment voor 'getWindowHandles ()' wordt hieronder gegeven:
# 2) Links zoeken met linkText () en PartialLinkText ()
Geef ons toegang tot 'google.com' en 'abodeqa.com' met verbind tekst () en gedeeltelijkeLinText () methoden van WebDriver.
De bovengenoemde links zijn toegankelijk met de volgende opdrachten:
bestuurder .findElement (By.linkText ( 'Google' )).Klik();
bestuurder .findElement (By.linkText ( AbodeQA )).Klik();
De opdracht vindt het element met behulp van linktekst en klikt vervolgens op dat element en zo wordt de gebruiker omgeleid naar de overeenkomstige pagina.
De bovengenoemde links zijn ook toegankelijk met de volgende opdrachten:
bestuurder .findElement (By.partialLinkText ( 'Goo' )).Klik();
bestuurder .findElement (By.partialLinkText ( 'Verblijfplaats' )).Klik();
De bovenstaande twee commando's zoeken de elementen op basis van de substring van de link die tussen de haakjes staat en dus zoekt partialLinkText () het webelement met de gespecificeerde substring en klikt erop.
# 3) Meerdere items selecteren in een vervolgkeuzelijst
Er zijn voornamelijk twee soorten vervolgkeuzemenu's:
- Enkele selectie dropdown : Een vervolgkeuzelijst waarmee u slechts één waarde tegelijk kunt selecteren.
- Vervolgkeuzelijst met meervoudige selectie : Een vervolgkeuzelijst waarmee u meerdere waarden tegelijk kunt selecteren.
Beschouw de onderstaande HTML-code voor een dropdownmenu dat meerdere waarden tegelijk kan selecteren.
Het onderstaande codefragment illustreert de meervoudige selecties in een vervolgkeuzelijst.
# 4) Een formulier indienen
De meeste of bijna alle websites hebben formulieren die moeten worden ingevuld en verzonden tijdens het testen van een webapplicatie. De gebruiker kan verschillende soorten formulieren tegenkomen, zoals aanmeldingsformulier, registratieformulier, bestandsuploadformulier, profielaanmaakformulier enz.
In WebDriver wordt een gebruiker gebruikt met een methode die specifiek is gemaakt om een formulier in te dienen. De gebruiker kan ook de klikmethode gebruiken om op de verzendknop te klikken als vervanging voor de verzendknop.
Bekijk het onderstaande codefragment in het bovenstaande formulier 'nieuwe gebruiker':
Dus zodra de programmabesturing de submit-methode vindt, lokaliseert het het element en activeert het de indienen () methode op het gevonden webelement.
# 5) Omgaan met iframes
Bij het automatiseren van webapplicaties kunnen er situaties zijn waarin we met meerdere frames in een venster moeten omgaan. De ontwikkelaar van het testscript moet dus heen en weer schakelen tussen verschillende frames of iframes.
Een inline frame-acroniem als iframe wordt gebruikt om een ander document in het huidige HTML-document in te voegen of gewoon een webpagina in een andere webpagina door nesten in te schakelen.
Beschouw de volgende HTML-code met het iframe op de webpagina:
De bovenstaande HTML-code illustreert de aanwezigheid van een ingebed iframe in een ander iframe. Om dus toegang te krijgen tot het onderliggende iframe, moet een gebruiker eerst naar het bovenliggende iframe navigeren. Na het uitvoeren van de vereiste bewerking kan een gebruiker worden gevraagd om terug te navigeren naar het bovenliggende iframe om het andere element van de webpagina af te handelen.
Het is onmogelijk als een gebruiker rechtstreeks toegang probeert te krijgen tot het onderliggende iframe zonder eerst naar het bovenliggende iframe te gaan.
Selecteer iframe op id
bestuurder .switchTo (). frame ( ID van het frame
Iframe zoeken met tagName
Bij het lokaliseren van een iframe kan de gebruiker problemen ondervinden als aan het iframe geen standaardeigenschappen worden toegekend. Het wordt een complex proces om het frame te lokaliseren en ernaar over te schakelen. Om de situatie te omzeilen, wordt een gebruiker gebruikt om een iframe te lokaliseren met behulp van een tagName-methode die vergelijkbaar is met de manier waarop we elk ander webelement in WebDriver vinden.
driver.switchTo (). frame (driver.findElements (By.tagName ('iframe'). get (0));
De bovenstaande opdracht lokaliseert het eerste webelement met de opgegeven tagName en schakelt over naar dat iframe. 'Get (0) wordt gebruikt om het iframe met de indexwaarde te vinden.' Dus, in lijn met onze HTML-code, zou de bovenstaande codesyntaxis ertoe leiden dat de programmabesturing overschakelt naar 'ParentFrame'.
Iframe zoeken met behulp van de index:
a) frame (index)
driver.switchTo (). frame (0);
b) frame (naam van frame)
driver.switchTo (). frame ('naam van het frame');
c) frame (WebElement-element)
Selecteer Bovenliggend venster
driver.switchTo (). defaultContent ();
Het bovenstaande commando brengt de gebruiker terug naar het oorspronkelijke venster, d.w.z. uit beide iframes.
# 6) methoden close () en quit ()
Er zijn twee soorten opdrachten in WebDriver om de webbrowserinstantie te sluiten.
a) sluiten () : De close () methode van WebDriver sluit het webbrowservenster waar de gebruiker momenteel aan werkt of we kunnen ook zeggen het venster dat momenteel wordt geopend door de WebDriver. De opdracht vereist geen enkele parameter en retourneert ook geen waarde.
b) stoppen () : In tegenstelling tot de methode close (), sluit de methode quit () alle vensters die het programma heeft geopend. Hetzelfde als de methode close (), de opdracht vereist geen enkele parameter en retourneert ook geen waarde.
Raadpleeg de onderstaande codefragmenten:
bestuurder .dichtbij(); // sluit slechts een enkel venster dat momenteel wordt geopend door de WebDriver-instantie
bestuurder . stoppen (); // sluit alle vensters die zijn geopend door de WebDriver-instantie
# 7) Afhandeling van uitzonderingen
Uitzonderingen zijn de voorwaarden of situaties die de uitvoering van het programma onverwachts stoppen.
Redenen voor dergelijke omstandigheden kunnen zijn:
- Fouten geïntroduceerd door de gebruiker
- Fouten gegenereerd door de programmeur
- Fouten die worden gegenereerd door fysieke bronnen
Om met deze onverwachte omstandigheden om te gaan, werd het afhandelen van uitzonderingen geconceptualiseerd.
Met betrekking tot Java-code die we tijdens het automatiseren implementeren, kan een webtoepassing worden ingesloten in een blok dat in staat is om een afhandelingsmechanisme te bieden tegen de foutieve omstandigheden.
Een uitzondering opvangen
Om een uitzondering op te vangen, gebruiken we het onderstaande codeblok
Als er een uitzondering optreedt in het try-blok / beschermde blok, controleert de uitvoeringsturing op een catch-blok voor het overeenkomende uitzonderingstype en geeft de uitzondering eraan zonder de uitvoering van het programma te onderbreken.
Meerdere vangblokken
In de bovenstaande code wordt waarschijnlijk een uitzondering opgevangen in het eerste catch-blok als het exception-type overeenkomt. Als het exception-type niet overeenkomt, wordt de exception doorgestuurd naar het tweede catch-blok en het derde catch-blok enzovoort totdat alle catch-blokken zijn bezocht.
WebDriver-voorwaarden en afhandeling van uitzonderingen
Wanneer we ernaar streven om de aanwezigheid van een element op de webpagina te verifiëren met behulp van verschillende voorwaardelijke commando's van WebDriver, gaat WebDriver ervan uit dat het webelement aanwezig is op de webpagina. Als het webelement niet aanwezig is op de webpagina, genereren de voorwaardelijke opdrachten een 'NoSuchElementPresentException'. Om te voorkomen dat dergelijke uitzonderingen de uitvoering van het programma stoppen, gebruiken we mechanismen voor het afhandelen van uitzonderingen. Raadpleeg het onderstaande codefragment:
Lijst met 25 meer populaire WebDriver-opdrachten en voorbeelden
Hieronder vindt u de lijst met de 25 meest gebruikte Webdriver-opdrachten die elke automatiseringstester moet kennen.
Laten we deze opdrachten een voor een in detail bekijken.
Verder lezen => Selenium WebDriver-zelfstudie
# 1) krijg ()
Gebruik get () om een URL in de huidige browser te openen.
De onderstaande opdracht opent de opgegeven URL, ‘https://www.softwaretestinghelp.com’ in de browser.
Syntaxis:
Uitleg:
- Navigeer naar de URL https://www.softwaretestinghelp.com
# 2) getCurrentUrl ()
Gebruik getCurrentUrl () om te controleren of de URL correct is.
De onderstaande opdracht haalt de huidige URL op in de tekenreeksindeling.
Syntaxis:
basis SQL-interviewvragen en antwoorden voor eerstejaarsstudenten
We gebruiken deze methode meestal in opdrachten om te controleren of we naar de juiste pagina zijn genavigeerd zoals verwacht. Daarvoor moeten we Assert gebruiken zoals hieronder weergegeven Voorbeeld
Syntaxis:
Waar verwachteUrl de URL is die wordt verwacht in de tekenreeksindeling.
Uitleg:
- Controleer en verifieer dat de geladen URL hetzelfde blijft en of de juiste pagina is geladen.
# 3) findElement (By, by) en klik op ()
findElement (By, by) en klik op () om op een element van de webpagina te klikken.
De methode findElement (By, by) zoekt en lokaliseert het eerste element op de huidige pagina, dat overeenkomt met de criteria die als parameter zijn opgegeven. Deze methode wordt meestal gebruikt in opdrachten om gebruikersacties te simuleren zoals klikken, verzenden, typen enz.
Het onderstaande commando zoekt en lokaliseert het eerste element in de webpagina met id 'submit1' en klikt erop als het niet gedekt is.
Syntaxis:
Het element kan worden gelokaliseerd met ID kaart Naam Klasse Naam Tagnaam Verbind tekst & Gedeeltelijke linktekst CSS-kiezer en X-pad
Uitleg:
- Zoek de vereiste knop Verzenden.
- Klik op de knop.
De onderstaande opdracht selecteert een item uit de keuzelijst.
Syntaxis:
Uitleg:
- Zoek en lokaliseer het lijstitem op id 'naam1'.
- Klik op dat item.
# 4) isEnabled ()
isEnabled () om te controleren of het element is ingeschakeld of uitgeschakeld in de Selenium WebDriver.
Om te controleren of een bepaald element is ingeschakeld op een webpagina, gebruiken we de methode isEnabled ().
Syntaxis:
Uitleg:
- Vindt het element in de webpagina volgens het xpath en controleert of het element is ingeschakeld.
# 5) findElement (By, by) met sendKeys ()
findElement (By, by) met sendKeys () om de formuliervelden in te typen.
Formuliervalidatiecontroles door de verschillende gebruikersinvoer in te voeren die vaak vereist zijn bij automatiseringstests. We gebruiken findElement (By, by) om de velden te lokaliseren en sendKeys () om wat inhoud in een bewerkbaar veld te typen.
Het onderstaande commando gebruikt de naamzoeker om het formulierveld te vinden en typt er 'Aaron' in.
Syntaxis:
Uitleg:
- Zoek het vereiste naamveld in het formulier.
- Voer de waarde 'Aaron' erin in.
# 6) findElement (By, by) met getText ()
findElement (By, by) met getText () om de waarde van het beoogde webelement op te slaan.
De getText () is een methode waarmee u de innerlijke tekst van het webelement krijgt. Get text is de tekst in de HTML-tags.
De onderstaande code zoekt het Element met tagName 'select' en haalt de tekst binnen de tag op en slaat deze op in een variabele drop-down. Nu kan de String dropDown worden gebruikt voor verdere acties binnen het programma.
Syntaxis:
Uitleg:
- Zoek het vereiste veld in het formulier met de tagName 'dropdown1'.
- Neem de tekst in de HTML-tag.
- Sla de tekst op in String-object ‘DropDown’.
# 7) Verzenden ()
Submit () om een webformulier in te dienen.
De click () -methode die we hierboven hebben besproken, kan worden gebruikt om op links of knoppen te klikken. Verzenden () is een beter alternatief voor klikken () als het element waarop moet worden geklikt een verzendknop is. De verzendknop bevindt zich in de HTML-tag ‘form’ en het type knop is ‘verzenden’ (niet ‘knop’).
De submit () maakt het leven gemakkelijker door automatisch de knop en de methode te vinden die aan elk ander veld, zoals naam of e-mailadres, kan worden toegevoegd. In het geval van klikken, moeten we de methode findElement (By, by) gebruiken en de juiste locators specificeren.
In sommige scenario's waarin de actie wordt uitgevoerd via andere elementen dan een knop, werkt submit () en klikt () niet.
Syntaxis:
Uitleg:
- Zoek het element in het opgegeven x-pad met de naam ‘opmerkingen’.
- Verstuur het formulier.
# 8) findElements (door, door)
findElements (By, by) om de lijst met webelementen op te halen.
Soms willen we een lijst met webelementen zoals links of invoervelden op een webpagina afdrukken of een actie uitvoeren. In dat geval gebruiken we findElements (By, by).
Syntaxis:
Uitleg:
- Een lijst van alle webelementen met gespecificeerd xpath wordt opgeslagen in de webelementlijst allChoices.
# 9) findElements (By, by) met size ()
findElements (By, by) met size () om te controleren of een element aanwezig is.
findElements (By, by) kan worden gebruikt om te controleren of een element daadwerkelijk aanwezig is in de webpagina.
De onderstaande opdracht wordt gebruikt als we willen verifiëren dat een element met een bepaalde locator aanwezig is op een webpagina. Als size ()! = 0 dan is het element aanwezig.
Syntaxis:
Uitleg:
- Zoekelement is gespecificeerd in xpath met id ‘checkbox2’.
- Volgens de grootte van de lijst met elementen wordt de Boolean checkIfElementPresent ingesteld op TRUE of FALSE.
# 10) pageLoadTimeout (tijd, eenheid)
pageLoadTimeout (tijd, eenheid) om de tijd in te stellen waarop een pagina moet worden geladen.
Soms kan het laden van een pagina door serverproblemen of netwerkvertragingen langer duren dan normaal. Dit kan een fout in het programma veroorzaken. Om dit te voorkomen, stellen we een wachttijd in en pageLoadTimeout () is een van die methoden. Dit volgt meestal een get () commando.
Syntaxis:
Uitleg:
- Wacht 500 seconden totdat een pagina is geladen.
# 11) implicietWait ()
implicitlyWait () om een wachttijd in te stellen voordat een webelement wordt gezocht en gelokaliseerd.
Wat gebeurt er als de webdriver een element probeert te vinden voordat de webpagina wordt geladen en het element wordt weergegeven? NoSuchElementExeption wordt gegenereerd. Om dit te voorkomen, kunnen we een commando toevoegen om impliciet een bepaalde tijd te wachten alvorens het element te lokaliseren.
Syntaxis:
Uitleg:
- Wacht impliciet 1000 seconden voordat u de volgende regel in de code uitvoert.
# 12) untill () en visibleOfElementLocated ()
untill () van WebdriverWait en VisibilityOfElementLocated () van ExpectedConditions om expliciet te wachten tot een element zichtbaar is in de webpagina.
Om gevallen te behandelen waarbij een element te veel tijd nodig heeft om zichtbaar te zijn op de softwarewebpagina, wordt het toepassen van impliciet wachten lastig. In dit geval kunnen we een opmerking plaatsen om te wachten tot het element op de webpagina verschijnt. Deze opdracht gebruikt een combinatie van de methode till () uit de klasse WebdriverWait en de methode VisibilityOfElementLocated () uit de klasse ExpectedConditions.
Syntaxis:
Uitleg:
- De eerste regel geeft aan hoeveel tijd er moet worden gewacht, namelijk 10 seconden.
- De tweede voorwaarde zegt een verwachte toestand om op te wachten. Hier is het een element met id'name 'in het genoemde xpath.
# 13) tot () en alertIsPresent ()
untill () van WebdriverWait en alertIsPresent () van ExpectedConditions om expliciet te wachten tot er een waarschuwing verschijnt.
In sommige scenario's moeten we wachten op waarschuwingen om door te gaan met de test. In dit geval gebruiken we een commando met de methode till () uit de klasse WebdriverWait en de methode alertIsPresent () uit de klasse ExpectedConditions.
Zie de onderstaande opdracht:
Uitleg:
- De eerste regel geeft aan hoeveel tijd er moet worden gewacht - dat is 10 seconden.
- De tweede voorwaarde zegt een verwachte toestand om op te wachten. Hier is een pop-up alert.
# 14) getTitle ()
getTitle () om de paginatitel in de Selenium-webdriver op te halen.
Syntaxis:
Dit wordt meestal gebruikt om de titel in de uitvoerlogboeken af te drukken.
Uitleg:
- Haal de titel van de webpagina op en sla deze op in de String-objecttitel.
- Druk de waarde die is opgeslagen in de titel af naar de uitvoerlogboeken.
# 15) Selecteer
Selecteer een klasse voor het selecteren en deselecteren van waarden in de vervolgkeuzelijst in Selenium WebDriver.
We hebben vaak dropdown-gerelateerde scenario's. Hiervoor worden methoden uit de klasse Select gebruikt. We kunnen selectByVisibleText (), selectByValue () of selectByIndex () gebruiken volgens het scenario.
Syntaxis:
Uitleg:
- Zoek het dropdown-menu met behulp van de id 'select'.
- Selecteer de zichtbare tekst 'Apple' in de vervolgkeuzelijst.
Uitleg:
- Zoek de vervolgkeuzelijst met behulp van de id 'select'.
- Selecteer de tekst met de waarde 'Apple' in de vervolgkeuzelijst.
Uitleg:
- Zoek de vervolgkeuzelijst met behulp van de id 'select'.
- Selecteer het dropdown-item met indexwaarde ‘1’ in het dropdown-menu (tweede item).
Net als bij selecteren, kunnen we waarden uit de vervolgkeuzelijst deselecteren met vergelijkbare opdrachten.
Controleer de commando's:
Uitleg:
- Zoek de vervolgkeuzelijst met behulp van de id 'select'.
- Deselecteer de zichtbare tekst 'Apple' uit de vervolgkeuzelijst.
Uitleg:
- Zoek de vervolgkeuzelijst met behulp van de id 'select'.
- Deselecteer de tekst met de waarde 'Apple' in de vervolgkeuzelijst.
Uitleg:
- Zoek de vervolgkeuzelijst met behulp van de id 'select'.
- Deselecteer het dropdown-item met de indexwaarde ‘1’ in het dropdown-menu (tweede item).
navigeer () om tussen de URL's te navigeren.
We zien vaak scenario's waarin we zouden willen navigeren vanaf de bestemmings-URL en dan terug of vooruit willen gaan. In dergelijke gevallen kunnen we in plaats van get () te gebruiken, navigeren () gebruiken. In Navigeren kunnen we de methoden back () en forward () gebruiken zonder de URL's op te geven.
Syntaxis:
Uitleg:
- Navigeer naar https://www.softwaretestinghelp.com
- Navigeer terug.
- Navigeer vooruit.
# 17) getScreenshotAs ()
getScreenshotAs () om de schermafbeelding van de hele pagina vast te leggen in Selenium WebDriver.
Deze is vaak nodig om uw werkgegevens op te slaan of soms om de outputs handmatig te controleren. De onderstaande opdracht wordt gebruikt om een screenshot te maken en op te slaan in een uitvoerbestand.
Syntaxis:
Uitleg:
- Maak een screenshot en sla het bestand op in een objectopname.
- Sla het bestand op in D-station als shot1.png.
# 18) moveToElement ()
moveToElement () van de klasse Actions om het effect van de muisaanwijzer te simuleren.
Er zijn scenario's waarin we over webelementen moeten zweven, zoals over menu om een submenu te zien, links om kleurveranderingen te zien, enz. In deze gevallen gebruiken we de Actions-klasse. Bekijk de onderstaande syntaxis voor de actieklasse.
Syntaxis:
Uitleg
- Zoek en lokaliseer het webelement met div id ‘mainmenu1’.
- Verplaats de muisaanwijzer naar het element.
# 19) dragAndDrop ()
dragAndDrop () van de klasse Actions om een element naar een ander element te slepen.
In sommige scenario's willen we misschien elementen slepen. Bijvoorbeeld sleep een afbeelding naar het werkgebied. In dit geval kunnen we de Actions-klasse gebruiken.
In de dragAndDrop-methode geven we de twee parameters door: Source locator - het element dat we willen slepen en Destination locator - het element waarnaar we willen slepen.
Syntaxis:
Uitleg:
- Zoek en lokaliseer het bronwebelement.
- Zoek en lokaliseer het bestemmingswebelement.
- Versleep het bronelement naar het bestemmingselement.
# 20) switchTo () en accept (), dismiss () en sendKeys ()
switchTo () en accept (), dismiss () en sendKeys () methoden van de klasse Alert om over te schakelen naar pop-upwaarschuwingen en deze af te handelen.
Om over te schakelen naar waarschuwingen, pop-ups en deze af te handelen, gebruiken we een combinatie van overschakelen naar() en accepteren (), negeren () methoden uit de klasse Alert.
Syntaxis:
Uitleg:
- Schakel over naar het waarschuwingsvenster.
- Typ 'Dit is softwaretesthelp' in de waarschuwing.
- Accepteer de waarschuwing en sluit deze.
alert.dismiss () kan worden gebruikt om de waarschuwing te negeren.
# 21) getWindowHandle () en getWindowHandles ()
getWindowHandle () en getWindowHandles () om meerdere vensters in Selenium WebDriver te verwerken.
hoe java-applicatie te ontwikkelen in eclipse
Er zijn veel gevallen waarin webtoepassingen veel frames of vensters hebben.
Dat zijn meestal advertenties of pop-upvensters met informatie. Met Windows Handlers kunnen we meerdere vensters aan. Webdriver slaat voor elk venster een uniek venster-ID op. We gebruiken deze id om ze af te handelen.
Syntaxis:
De bovenstaande opdrachten worden gebruikt om venster-id's van respectievelijk het huidige venster en alle vensters op te halen. Zie de onderstaande lus om te zien hoe we door de lus naar elk venster kunnen gaan.
Uitleg:
- Schakel voor elk vensterhandvat-ID van driver.getWindowHandles () naar dat venster-ID.
# 22) getConnection ()
getConnection () van DriverManager om Database Connection te starten.
Om een databaseverbinding te starten, gebruiken we getConnection van de DriverManager-klasse.
Syntaxis:
Uitleg:
- Maak verbinding met de database via URL en inloggegevens.
# 23) DAN
POI om te lezen uit de Excel-bestanden.
Bij datagestuurde tests slaan we de invoer vaak op in een Excel-bestand en lezen we het. Om dit in WebDriver te doen, importeren we het POI-pakket en gebruiken dan het onderstaande commando.
Syntaxis:
Uitleg:
- Maak een readerbestand.
- Lees het bestand.
# 24) assertEquals (), assertNotEquals (), assertTrue () en assertFalse ()
Beweert met assertEquals (), assertNotEquals (), assertTrue () en assertFalse () om de resultaten te vergelijken.
Beweringen worden gebruikt om de verwachte en daadwerkelijke resultaten te vergelijken. Het al dan niet slagen van een test wordt meestal bepaald op basis van het resultaat van beweringen. Bij automatisering worden verschillende soorten beweringen gebruikt.
Syntaxis:
Uitleg:
- In het eerste commando gaat de bewering zonder uitzondering over als de verwachte en werkelijke waarden hetzelfde zijn. d.w.z. als het bericht 'Deze tekst' is, gaat de bewering over.
- In het tweede commando mislukt de bewering met een uitzondering wanneer de verwachte en werkelijke waarden hetzelfde zijn. d.w.z. als het bericht 'Deze tekst' is, mislukt de bewering.
- In het derde commando, als de voorwaarde slaagt, slaagt de bewering. d.w.z. als resultaat<0, then the assertion passes.
- In het vierde commando, als de voorwaarde slaagt, mislukt de bewering. d.w.z. als resultaat<0, then the assertion fails.
# 25) sluit () en stop ()
close () en quit () om vensters en driverinstanties te sluiten.
Deze commando's worden aan het einde van elk automatiseringsprogramma gebruikt.
Syntaxis:
Uitleg:
Het eerste commando sluit het huidige venster.
De tweede opdracht sluit deze driverinstantie af en sluit elk bijbehorend venster dat wordt geopend.
Gevolgtrekking
In deze tutorial hebben we verschillende veelgebruikte en overmatig gebruikte opdrachten van WebDriver geïntroduceerd. We hebben geprobeerd de commando's uit te leggen met geschikte voorbeelden en codefragmenten.
Ik heb mijn best gedaan om de meest populaire WebDriver-opdrachten die we routinematig gebruiken in ons dagelijkse werk uit te leggen. Met deze opdrachten kunt u gemakkelijk met Selenium werken.
Ik hoop dat het u interessant en goed geïnformeerd was.
Bent u een automatiseringstester die een van de bovenstaande opdrachten heeft geprobeerd? Of hebben we opdrachten die u gebruikt in de bovenstaande lijst gemist?
Volgende tutorial # 18 : In de komende tutorial zouden we bespreken Webtabellen, frames en dynamische elementen die een essentieel onderdeel zijn van elk webproject. We behandelen ook de afhandeling van uitzonderingen het belangrijke onderwerp in meer details in een van de komende Selenium Tutorials.
Aanbevolen literatuur
- Cucumber Selenium Tutorial: Cucumber Java Selenium WebDriver Integration
- Inleiding tot Selenium WebDriver - Selenium Tutorial # 8
- Selenium WebDriver uitvoeren in verschillende populaire browsers
- Implementatie van ons eerste WebDriver-script - Selenium WebDriver-zelfstudie # 10
- Selenium - Veelgestelde vragen
- Omgaan met waarschuwingen / pop-ups in Selenium WebDriver - Selenium Tutorial # 16
- GeckoDriver Selenium-zelfstudie: Hoe GeckoDriver te gebruiken in Selenium-projecten
- Impliciet en expliciet wachten in Selenium WebDriver (soorten Selenium Waits)