implementation our first webdriver script selenium webdriver tutorial 10
V prejšnjih dveh vajah smo vas seznanili z osnovno arhitekturo in funkcije WebDriverja in infrastruktura, potrebna za začetek uporabe programa Selenium WebDriver . Ob predpostavki, da ste vsi morda nastavili sistem z vsemi potrebnimi pripomočki in paketi, bomo nadaljevali z izvajanjem našega prvega preizkusnega skripta WebDriver.
Zato premikanje naprej s posledičnim Vadnica za Selenium WebDriver , ustvarjali bi skript WebDriver. Prav tako bi razpršili svetlobo na osnovno in pogosto uporabljeno Ukazi WebDriver . Spoznali bi tudi lociranje strategij elementov uporabniškega vmesnika in njihovo vključitev v testne skripte. Podrobno bi preučili tudi Get Commands.
Kaj se boste naučili:
- Ustvarjanje skripte
- Sprehod po kodi
- Izvedba testa
- Iskanje spletnih elementov
- Vrste lokatorjev in njihova sintaksa
- Zaključek
- Priporočeno branje
Ustvarjanje skripte
Za izdelavo skriptov bi kot testno aplikacijo (AUT) uporabili projekt »Learning_Selenium«, ustvarjen v prejšnji vadnici, in »gmail.com«.
Scenarij:
- Zaženite brskalnik in odprite »Gmail.com«.
- Preverite naslov strani in natisnite rezultat preverjanja.
- Vnesite uporabniško ime in geslo.
- Kliknite gumb Prijava.
- Zaprite spletni brskalnik.
Korak 1: Ustvarite nov razred jave z imenom »Gmail_Login« v okviru projekta »Learning_Selenium«.
2. korak: Kopirajte in prilepite spodnjo kodo v razredu 'Gmail_Login.java'.
import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class Gmail_Login { /** * @param args */ public static void main(String() args) { // objects and variables instantiation WebDriver driver = new FirefoxDriver(); String appUrl = 'https://accounts.google.com'; // launch the firefox browser and open the application url driver.get(appUrl); // maximize the browser window driver.manage().window().maximize(); // declare and initialize the variable to store the expected title of the webpage. String expectedTitle = ' Sign in - Google Accounts '; // fetch the title of the web page and save it into a string variable String actualTitle = driver.getTitle(); // compare the expected title of the page with the actual title of the page and print the result if (expectedTitle.equals(actualTitle)) { System.out.println('Verification Successful - The correct title is displayed on the web page.'); } else { System.out.println('Verification Failed - An incorrect title is displayed on the web page.'); } // enter a valid username in the email textbox WebElement username = driver.findElement(By.id('Email')); username.clear(); username.sendKeys('TestSelenium'); // enter a valid password in the password textbox WebElement password = driver.findElement(By.id('Passwd')); password.clear(); password.sendKeys('password123'); // click on the Sign in button WebElement SignInButton = driver.findElement(By.id('signIn')); SignInButton.click(); // close the web browser driver.close(); System.out.println('Test script executed successfully.'); // terminate the program System.exit(0); } }
Zgornja koda je enakovredna besedilnemu scenariju, predstavljenemu prej.
Sprehod po kodi
Izjave o uvozu:
import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.By;
Pred dejanskim skriptiranjem moramo uvoziti zgornje pakete:
uvoz org.openqa.selenium.WebDriver - sklicuje se na vmesnik WebDriver, ki je potreben za instanciranje novega spletnega brskalnika.
uvoz org.openqa.selenium.firefox.FirefoxDriver - sklicuje se na razred FirefoxDriver, ki je potreben, da ustvari gonilnik, specifičen za Firefox, na primerku brskalnika, ustvarjenem z uporabo vmesnika WebDriver.
uvoz org.openqa.selenium.WebElement - Sklici na razred WebElement, ki je potreben za instanciranje novega spletnega elementa.
uvoz org.openqa.selenium.By - Sklici na razred By, v katerem je poklican tip lokatorja.
Ko in kdaj bo naš projekt rasel, je očitno in logično, da bomo morda morali uvesti več drugih paketov za bolj zapletene in ločene funkcionalnosti, kot so excel manipulacije, povezljivost z bazo podatkov, beleženje, trditve itd.
Vprašanja in odgovori za razgovore v HTML in CSS
Instantiranje objekta
Gonilnik WebDriver = novi FirefoxDriver ();
Ustvarimo referenčno spremenljivko za vmesnik WebDriver in jo izdelamo z uporabo razreda FirefoxDriver. Začel se bo privzeti profil Firefoxa, kar pomeni, da z instanco Firefox ne bi bilo treba naložiti nobenih razširitev in vtičnikov ter da deluje v varnem načinu.
Zagon spletnega brskalnika
driver.get (appUrl);
TO dobili () metoda se na primerku WebDriver pokliče, da zažene nov primerek spletnega brskalnika. Niz zaporedja znakov, ki se kot parameter prenese v dobili () metoda preusmeri zagnani primerek spletnega brskalnika na URL aplikacije.
Povečajte okno brskalnika
driver.manage (). window (). maximize ();
The maksimiraj () metoda se uporablja za maksimiranje okna brskalnika kmalu po preusmeritvi na URL aplikacije.
Poiščite naslov strani
driver.getTitle ();
The getTitle () metoda se uporablja za pridobitev naslova trenutne spletne strani. Tako lahko pridobljeni naslov naložimo v spremenljivko niza.
Primerjava med pričakovanimi in dejanskimi vrednostmi:
if (expectedTitle.equals(actualTitle)) { System.out.println('Verification Successful - The correct title is displayed on the web page.'); } else { System.out.println('Verification Failed - An incorrect title is displayed on the web page.'); }
Zgornja koda uporablja pogojne stavke java za primerjavo dejanske vrednosti in pričakovane vrednosti. Na podlagi pridobljenega rezultata bi se izvršila izjava za tiskanje.
WebElement Instantiation
Uporabniško ime WebElement = driver.findElement (By.id (»E-pošta«));
V zgornji izjavi s pomočjo programa instantiramo referenco WebElement 'Driver.findElement (By.id (' Email '))'. Tako lahko uporabniško ime uporabimo za sklicevanje na besedilno polje Email na uporabniškem vmesniku vsakič, ko želimo na njem izvesti nekaj dejanj.
Počisti ukaz
uporabniško ime.clear ();
Metoda / ukaz clear () se uporablja za čiščenje vrednosti, ki je prisotna v besedilnem polju, če obstaja. Počisti tudi privzeto nadomestno vrednost.
ukaz sendKeys
username.sendKeys (»TestSelenium«);
The sendKeys () metoda / ukaz se uporablja za vnos / vnos določene vrednosti (v oklepajih) v besedilno polje. Opazite, da sendKeys () metoda se pokliče za objekt WebElement, ki je bil ustvarjen s pomočjo lastnosti elementa, ki ustreza elementu uporabniškega vmesnika.
Zgornji blok kode vnese niz »TestSelenium« v besedilno polje Email v aplikaciji Gmail.
sendKeys je eden najpogosteje uporabljenih ukazov v skriptih WebDriver.
Kliknite Ukaz
razlika med kodo c in c ++
SignInButton.click ();
Všeč mi je sendKeys (), kliknite () je še en pretirano uporabljen ukaz za interakcijo s spletnimi elementi. Kliknite () Ukaz / metoda se uporablja za klik na spletni element, ki je prisoten na spletni strani.
Zgornji blok kode klikne na gumb »Prijava«, ki je prisoten v aplikaciji Gmail.
Opombe:
- Za razliko od metode sendKeys (), metode click () nikoli ni mogoče parametrizirati.
- Včasih lahko klik na spletni element v celoti naloži novo stran. Za ohranitev takih primerov je metoda click () kodirana tako, da počaka, da se stran naloži.
Zaprite spletni brskalnik
driver.close ();
Zapri () se uporablja za zapiranje trenutnega okna brskalnika.
Prekinite program Java
System.exit (0);
Metoda Exit () prisilno zaključi program Java. Zato ne pozabite zapreti vseh primerkov brskalnika, preden zaključite program Java.
Izvedba testa
Preizkusni skript ali preprosto program java se lahko izvede na naslednje načine:
# 1. Pod menijsko vrstico Eclipse je ikona za izvajanje preizkusnega skripta. Glejte naslednjo sliko.
Upoštevajte, da se bo izvajal samo izbrani razred.
# dve. Z desno miškino tipko kliknite kjer koli znotraj razreda v urejevalniku, izberite možnost »Zaženi kot« in kliknite »Java Application«.
# 3. Druga bližnjica za izvajanje preizkusnega skripta je - Pritisnite ctrl + F11.
Na koncu izvedbenega cikla se izpiše stavek »Preskusni skript je bil uspešno izveden«. najdete v konzoli.
c ++ in razlike v javi
Iskanje spletnih elementov
Spletne elemente v WebDriverju je mogoče najti in pregledati na enak način, kot smo to storili v prejšnjih vadnicah programa Selenium IDE. Za pregled spletnega elementa na grafičnem uporabniškem vmesniku je mogoče uporabiti selenium IDE in Firebug. Zelo priporočljivo je, da za iskanje spletnih elementov uporabite Selenium IDE. Ko je spletni element uspešno najden, kopirajte in prilepite ciljno vrednost v kodo WebDriver. Vrste lokatorjev in strategije lociranja so skoraj enake, razen sintakse in njihove uporabe.
V WebDriverju se spletni elementi nahajajo s pomočjo dinamičnih iskalnikov (findElement (By.locatorType (»vrednost lokatorja«)).
Vzorčna koda:
driver.findElement (By.id (»E-pošta«));
Vrste lokatorjev in njihova sintaksa
Locator Type | Sintaksa | Opis |
---|---|---|
cssSelector | driver.findElement (By.cssSelector (»Izbirnik CSS«)) | Poiščite po vrednosti izbirnik CSS |
id | driver.findElement (By.id (»ID_elementa«)) | Poiščite po vrednosti atribut 'id' |
className | driver.findElement (By.className (“Class_of_Element”)) | Poiščite po vrednosti atribut »razred« |
linkText | driver.findElement (By.linkText (»Besedilo«)) | Poiščite po vrednosti besedilo hiperpovezave |
delnoLinkText | driver.findElement (By.partialLinkText (»Delno besedilo«)) | Poiščite po vrednosti podbesedilo hiperpovezave |
ime | driver.findElement (Z.ime (»Ime_elementa«)) | Poiščite po vrednosti Atribut »ime« |
xpath | driver.findElement (By.xpath (»Xpath«)) | Poiščite po vrednosti xpatha |
tagName | driver.findElement (By.tagName (»input«)) | Poiščite po vrednosti ime oznake |
Zaključek
V tej vadnici smo razvili skript za avtomatizacijo z uporabo WebDriver in Jave. Razpravljali smo tudi o različnih komponentah, ki sestavljajo skript WebDriver.
Tukaj je bistvo te vadnice Selenium WebDriver:
- Pred dejanskim skriptiranjem moramo uvoziti nekaj paketov, da bomo lahko ustvarili skript WebDriver.
- uvoz openqa.selenium.By;
- uvoz openqa.selenium.WebDriver;
- uvoz openqa.selenium.WebElement;
- uvoz openqa.selenium.firefox.FirefoxDriver;
- TO dobili () metoda, ki se uporablja za zagon novega primerka spletnega brskalnika. Zaporedje znakov, posredovano kot parameter v metodo get (), preusmeri zagnani primerek spletnega brskalnika na URL aplikacije.
- The maksimiraj () metoda se uporablja za maksimiranje okna brskalnika.
- The jasno () metoda se uporablja za čiščenje vrednosti v besedilnem polju, če obstaja.
- The sendKeys () metoda se uporablja za vnos določene vrednosti v besedilno polje.
- Kliknite () metoda se uporablja za klik na spletni element, ki je prisoten na spletni strani.
- V WebDriverju lahko spletne elemente poiščete s pomočjo dinamičnih iskalnikov.
- Na voljo so naslednje vrste lokatorjev:
- id
- className
- ime
- xpath
- cssSelector
- linkText
- delnoLinkText
- tagName
V nadaljevanju bi v naslednji vadnici svoj poudarek premaknili k ogrodju, ki pomaga pri avtomatizacijskem testiranju, znanem kot TestNG. Imeli bi podrobno študijo o različnih vrstah opomb, ki jih ponuja okvir.
Naslednja vadnica št : Preden se potopimo globoko v Frameworks, bomo videli podrobnosti o JUnit - odprtokodnem orodju za testiranje enot. Večina programerjev uporablja JUnit, saj je enostaven in ne zahteva veliko truda za testiranje. Ta vadnica bo dala vpogled v JUnit in njegovo uporabo v skriptu selena.
Opomba za bralce: Medtem ko je naša naslednja vadnica serije Selenium v načinu obdelave, lahko bralci začnejo ustvarjati lastne osnovne skripte WebDriver. Za več vnaprejšnjih skriptov in konceptov bomo v tej seriji pripravili različne druge vadnice za Selenium WebDriver.
V komentarjih nam sporočite, če imate kakršne koli težave pri ustvarjanju ali izvajanju skriptov WebDriver.
Priporočeno branje
- Uvod v Selenium WebDriver - Vadnica za selenij št. 8
- Vadnica za kumare selena: Integracija kumar Java Selenium WebDriver
- Celotna namestitev in namestitev WebDriverja z Eclipse - Vadnica za selen št. 9
- Preverite vidnost spletnih elementov z različnimi vrstami ukazov WebDriver - Vadnica za selenij št. 14
- Učinkoviti scenariji za skriptiranje in odpravljanje težav s selenom - Vadnica za selenij št. 27
- Kako ravnati z opozorili / pojavnimi okni v programu Selenium WebDriver - Vodič za selenij št. 16
- Odpravljanje napak v skriptih selena z dnevniki (Vadnica za Log4j) - Vadnica za selen # 26
- Uvod v JUnit Framework in njegovo uporabo v scenariju selena - Vadnica za selen # 11