implementation our first webdriver script selenium webdriver tutorial 10
In de vorige twee tutorials hebben we je kennis laten maken met de basisarchitectuur en kenmerken van WebDriver en de infrastructuur die nodig is om aan de slag te gaan met Selenium WebDriver Ervan uitgaande dat u allemaal het systeem heeft opgezet met alle benodigde hulpprogramma's en pakketten, we gaan verder met de implementatie van ons eerste WebDriver-testscript.
Daarom voorwaarts bewegend met het gevolg Selenium WebDriver-zelfstudie , zouden we een WebDriver-script maken. We zouden ook het licht verspreiden over de basis en algemeen gebruikte WebDriver-opdrachten We zouden ook leren over de lokalisatiestrategieën van UI-elementen en hun opname in de testscripts. We zouden ook Get Commands in detail bestuderen.
Wat je leert:
- Script maken
- Code doorlopen
- Testuitvoering
- Webelementen zoeken
- Locatortypen en hun syntaxis
- Gevolgtrekking
- Aanbevolen literatuur
Script maken
Voor het maken van scripts zouden we het 'Learning_Selenium' -project gebruiken dat in de vorige tutorial is gemaakt en 'gmail.com' als de te testen applicatie (AUT).
Scenario:
- Start de browser en open 'Gmail.com'.
- Controleer de titel van de pagina en druk het verificatieresultaat af.
- Voer de gebruikersnaam en het wachtwoord in.
- Klik op de knop Aanmelden.
- Sluit de webbrowser.
Stap 1: Maak een nieuwe Java-klasse met de naam 'Gmail_Login' onder het 'Learning_Selenium' -project.
Stap 2: Kopieer en plak de onderstaande code in de klasse 'Gmail_Login.java'.
De bovenstaande code komt overeen met het eerder gepresenteerde tekstscenario.
Code doorlopen
Invoerverklaringen:
Voorafgaand aan de daadwerkelijke scripting, moeten we de bovenstaande pakketten importeren:
importeren org.openqa.selenium.WebDriver - Verwijst naar de WebDriver-interface die nodig is om een nieuwe webbrowser te starten.
importeren org.openqa.selenium.firefox.FirefoxDriver - Verwijst naar de FirefoxDriver-klasse die vereist is om een Firefox-specifiek stuurprogramma te instantiëren in de browserinstantie die is gestart met de WebDriver-interface.
importeren org.openqa.selenium.WebElement - Verwijzingen naar de WebElement-klasse die nodig is om een nieuw webelement te instantiëren.
importeren org.openqa.selenium.By - Verwijzingen naar de klasse By waarop een locatortype wordt aangeroepen.
Naarmate ons project zou groeien, is het duidelijk en logisch dat we misschien verschillende andere pakketten moeten introduceren voor meer complexe en onderscheidende functionaliteiten zoals Excel-manipulaties, databaseconnectiviteit, logboekregistratie, beweringen enz.
gratis online converter youtube naar mp4
Object instantiatie
WebDriver-stuurprogramma = nieuwe FirefoxDriver ();
We maken een referentievariabele voor de WebDriver-interface en instantiëren deze met de FirefoxDriver-klasse. Er wordt een standaard Firefox-profiel gestart, wat betekent dat er geen extensies en plug-ins worden geladen met de Firefox-instantie en dat deze in de veilige modus wordt uitgevoerd.
De webbrowser starten
driver.get (appUrl);
NAAR krijgen() methode wordt aangeroepen op de WebDriver-instantie om een nieuwe webbrowserinstantie te starten. De tekenreeks die als parameter is doorgegeven aan de krijgen() methode leidt de gestarte webbrowserinstantie om naar de applicatie-URL.
Maximaliseer het browservenster
driver.manage (). window (). maximaliseren ();
De maximaliseren() methode wordt gebruikt om het browservenster te maximaliseren, kort nadat het is omgeleid naar de applicatie-URL.
Haal de paginatitel op
driver.getTitle ();
De getTitle () methode wordt gebruikt om de titel van de huidige webpagina op te halen. De opgehaalde titel kan dus in een stringvariabele worden geladen.
Vergelijking tussen verwachte en werkelijke waarden:
De bovenstaande code gebruikt de voorwaardelijke instructie java-constructies om de werkelijke waarde en de verwachte waarde te vergelijken. Op basis van het verkregen resultaat zou de printinstructie worden uitgevoerd.
WebElement instantiatie
WebElement gebruikersnaam = driver.findElement (By.id ('E-mail'));
In de bovenstaande verklaring instantiëren we de WebElement-referentie met behulp van 'Driver.findElement (By.id (' E-mail '))'. De gebruikersnaam kan dus worden gebruikt om te verwijzen naar het tekstvak E-mail op de gebruikersinterface elke keer dat we er een actie op willen uitvoeren.
Wis opdracht
gebruikersnaam.clear ();
De clear () methode / commando wordt gebruikt om de waarde te wissen die aanwezig is in het tekstvak, indien aanwezig. Het wist ook de standaard tijdelijke aanduiding.
sendKeys-opdracht
gebruikersnaam.sendKeys ('TestSelenium');
De sendKeys () methode / commando wordt gebruikt om de opgegeven waarde (tussen haakjes) in het tekstvak in te voeren / typen. Merk op dat de sendKeys () methode wordt aangeroepen op het WebElement-object dat werd geïnstantieerd met behulp van de elementeigenschap die overeenkomt met het UI-element.
Het bovenstaande codeblok voert de tekenreeks 'TestSelenium' in het tekstvak E-mail van de Gmail-applicatie in.
wat is een tool voor gegevensverzameling
sendKeys is een van de meest gebruikte commando's in de WebDriver-scripts.
Klik op Command
SignInButton.click ();
Leuk vinden sendKeys (), klik op () is een ander veelgebruikt commando om te communiceren met de webelementen. Klik() commando / methode wordt gebruikt om op het webelement op de webpagina te klikken.
Het bovenstaande codeblok klikt op de knop 'Aanmelden' in de Gmail-applicatie.
Opmerkingen:
- In tegenstelling tot de methode sendKeys (), kunnen de methoden click () nooit worden geparametriseerd.
- Soms kan het klikken op een webelement een nieuwe pagina helemaal laden. Om dergelijke gevallen te ondersteunen, is de methode click () zodanig gecodeerd dat deze wacht totdat de pagina is geladen.
Sluit de webbrowser
driver.close ();
De close () wordt gebruikt om het huidige browservenster te sluiten.
Beëindig het Java-programma
System.exit (0);
De Exit () - methode beëindigt het Java-programma met geweld. Denk er dus aan om alle browserinstanties te sluiten voordat u het Java-programma beëindigt.
Testuitvoering
Het testscript of gewoon het Java-programma kan op de volgende manieren worden uitgevoerd:
# 1. Onder de menubalk van de Eclipse bevindt zich een pictogram om het testscript uit te voeren. Raadpleeg de volgende afbeelding.
Merk op dat alleen de geselecteerde klasse wordt uitgevoerd.
#twee. Klik met de rechtermuisknop ergens in de klas in de editor, selecteer de optie 'Uitvoeren als' en klik op de 'Java-toepassing'.
hoe je handmatige testcases schrijft
# 3. Een andere sneltoets om het testscript uit te voeren is - Druk op ctrl + F11.
Aan het einde van de uitvoeringscyclus verschijnt de afdrukinstructie 'Testscript uitgevoerd.' vind je in de console.
Webelementen zoeken
Webelementen in WebDriver kunnen op dezelfde manier worden gelokaliseerd en geïnspecteerd als in de vorige tutorials van Selenium IDE. Selenium IDE en Firebug kunnen worden gebruikt om het webelement op de GUI te inspecteren. Het wordt sterk aangeraden om Selenium IDE te gebruiken om de webelementen te vinden. Zodra het webelement is gevonden, kopieert en plakt u de doelwaarde in de WebDriver-code. De soorten locators en de lokalisatiestrategieën zijn vrijwel hetzelfde, behalve de syntaxis en hun toepassing.
In WebDriver worden webelementen gelokaliseerd met behulp van de dynamische zoekers (findElement (By.locatorType ('locatorwaarde'))).
Voorbeeldcode:
driver.findElement (By.id ('E-mail'));
Locatortypen en hun syntaxis
Type locator | Syntaxis | Omschrijving |
---|---|---|
cssSelector | driver.findElement (By.cssSelector ('CSS Selector')) | Zoek op waarde van de CSS-selector |
ID kaart | driver.findElement (By.id ('ID_of_Element')) | Zoek op waarde van het kenmerk 'id' |
naam van de klasse | driver.findElement (By.className ('Class_of_Element')) | Zoek op waarde van het 'class' -attribuut |
verbind tekst | driver.findElement (By.linkText ('Tekst')) | Zoek op waarde van de tekst van de hyperlink |
gedeeltelijkeLinkText | driver.findElement (By.partialLinkText ('PartialText')) | Zoek op waarde van de subtekst van de hyperlink |
naam | driver.findElement (Bij naam ('Name_of_Element')) | Zoek op waarde van de Kenmerk 'naam' |
xpath | driver.findElement (By.xpath ('Xpath')) | Zoek op waarde van het xpath |
tagName | driver.findElement (By.tagName ('input')) | Zoek op waarde van zijn tagnaam |
Gevolgtrekking
In deze tutorial hebben we een automatiseringsscript ontwikkeld met WebDriver en Java. We bespraken ook de verschillende componenten waaruit een WebDriver-script bestaat.
Hier zijn de kernpunten van deze Selenium WebDriver-zelfstudie:
- Voorafgaand aan de daadwerkelijke scripting, moeten we een paar pakketten importeren om een WebDriver-script te kunnen maken.
- importeren openqa.selenium.By;
- importeren openqa.selenium.WebDriver;
- importeren openqa.selenium.WebElement;
- importeren openqa.selenium.firefox.FirefoxDriver;
- NAAR krijgen() methode die wordt gebruikt om een nieuwe webbrowserinstantie te starten. De tekenreeks die als parameter wordt doorgegeven aan de methode get (), leidt de gestarte webbrowserinstantie om naar de toepassings-URL.
- De maximaliseren() methode wordt gebruikt om het browservenster te maximaliseren.
- De Doorzichtig() methode wordt gebruikt om de waarde te wissen die aanwezig is in het tekstvak, indien aanwezig.
- De sendKeys () methode wordt gebruikt om de opgegeven waarde in het tekstvak in te voeren.
- Klik() methode wordt gebruikt om op het webelement op de webpagina te klikken.
- In WebDriver kunnen webelementen worden gevonden met behulp van dynamische zoekers.
- De volgende zijn de beschikbare locatortypes:
- ID kaart
- naam van de klasse
- naam
- xpath
- cssSelector
- verbind tekst
- gedeeltelijkeLinkText
- tagName
Vooruitgaand, in de volgende tutorial, zouden we onze focus verleggen naar een raamwerk dat helpt bij het testen van automatisering, bekend als TestNG. We zouden een gedetailleerde studie hebben over de verschillende soorten annotaties die door het raamwerk worden geleverd.
Volgende tutorial # 11 Voordat we diep in Frameworks duiken, zullen we details zien over JUnit - een open source unit-testtool. De meeste programmeurs gebruiken JUnit omdat het gemakkelijk is en niet veel moeite kost om te testen. Deze tutorial geeft inzicht in JUnit en het gebruik ervan in seleniumscript.
Een opmerking voor de lezers: Terwijl onze volgende tutorial van de Selenium-serie zich in de verwerkingsmodus bevindt, kunnen lezers beginnen met het maken van hun eigen standaard WebDriver-scripts. Voor meer geavanceerde scripts en concepten, zullen we verschillende andere Selenium WebDriver-tutorials hebben in deze serie.
Laat het ons weten in opmerkingen als u problemen ondervindt bij het maken of uitvoeren van de WebDriver-scripts.
Aanbevolen literatuur
- Inleiding tot Selenium WebDriver - Selenium Tutorial # 8
- Cucumber Selenium Tutorial: Cucumber Java Selenium WebDriver Integration
- WebDriver Volledige installatie en installatie met Eclipse - Selenium Tutorial # 9
- Controleer de zichtbaarheid van webelementen met behulp van verschillende typen WebDriver-opdrachten - Selenium Tutorial # 14
- Efficiënte Selenium-scripts en scenario's oplossen - Selenium-zelfstudie # 27
- Omgaan met waarschuwingen / pop-ups in Selenium WebDriver - Selenium Tutorial # 16
- Selenium-scripts debuggen met logboeken (Log4j-zelfstudie) - Selenium-zelfstudie # 26
- Inleiding tot JUnit Framework en het gebruik ervan in Selenium Script - Selenium Tutorial # 11