implementation our first webdriver script selenium webdriver tutorial 10
În cele două tutoriale anterioare, v-am făcut familiarizat cu arhitectura de bază și caracteristici ale WebDriver si infrastructură necesară pentru a începe cu Selenium WebDriver . Presupunând că toți ați configurat sistemul cu toate utilitățile și pachetele necesare, vom merge mai departe cu implementarea primului nostru script de test WebDriver.
Prin urmare, mișcând înainte cu rezultatul Tutorial Selenium WebDriver , am crea un script WebDriver. De asemenea, am împrăștia lumina pe elementele de bază și utilizate în mod obișnuit Comenzi WebDriver . Am învăța și despre localizarea strategiilor elementelor UI și includerea lor în scripturile de testare. Am studia, de asemenea, Obține comenzi în detaliu.
Ce veți învăța:
- Crearea scriptului
- Ghid de cod
- Executarea testului
- Localizarea elementelor web
- Tipuri de localizatoare și sintaxa acestora
- Concluzie
- Lectură recomandată
Crearea scriptului
Pentru crearea de scripturi, vom folosi proiectul „Learning_Selenium” creat în tutorialul anterior și „gmail.com” ca aplicație sub test (AUT).
Scenariu:
- Lansați browserul și deschideți „Gmail.com”.
- Verificați titlul paginii și imprimați rezultatul verificării.
- Introduceți numele de utilizator și parola.
- Faceți clic pe butonul Conectare.
- Închideți browserul web.
Pasul 1: Creați o nouă clasă java denumită „Gmail_Login” în cadrul proiectului „Learning_Selenium”.
Pasul 2: Copiați și lipiți codul de mai jos în clasa „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); } }
Codul de mai sus este echivalent cu scenariul textual prezentat anterior.
Ghid de cod
Declarații de import:
import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.By;
Înainte de scriptul propriu-zis, trebuie să importăm pachetele de mai sus:
import org.openqa.selenium.WebDriver - face referire la interfața WebDriver necesară pentru a crea un nou browser web.
import org.openqa.selenium.firefox.FirefoxDriver - Face trimitere la clasa FirefoxDriver necesară pentru a crea un driver specific Firefox în instanța browserului instanțiat utilizând interfața WebDriver.
import org.openqa.selenium.WebElement - Referințe la clasa WebElement care este necesară pentru a crea un element web nou.
import org.openqa.selenium.By - Referințe la clasa By pe care este apelat un tip de localizator.
Pe măsură ce și când proiectul nostru va crește, este evident și logic că ar trebui să introducem alte pachete pentru funcționalități mai complexe și distincte, cum ar fi manipulări Excel, conectivitate la baze de date, înregistrare, afirmații etc.
Întrebări de interviuri bazate pe scenariu server SQL
Instanțarea obiectelor
Driver WebDriver = nou FirefoxDriver ();
Creăm o variabilă de referință pentru interfața WebDriver și o instanțiem utilizând clasa FirefoxDriver. Va fi lansat un profil implicit Firefox, ceea ce înseamnă că nu ar fi încărcate extensii și pluginuri cu instanța Firefox și că acesta rulează în modul sigur.
Lansarea browserului Web
driver.get (appUrl);
LA obține() metoda este apelată la instanța WebDriver pentru a lansa o nouă instanță de browser web. Secvența de caractere șir a trecut ca parametru în obține() metoda redirecționează instanța browserului web lansat către adresa URL a aplicației.
Maximizați fereastra browserului
driver.manage (). window (). maximize ();
maximiza () metoda este utilizată pentru a maximiza fereastra browserului la scurt timp după ce este redirecționată către adresa URL a aplicației.
Aduceți titlul paginii
driver.getTitle ();
getTitle () metoda este utilizată pentru a prelua titlul paginii web curente. Astfel, titlul preluat poate fi încărcat într-o variabilă șir.
Comparație între valorile așteptate și cele reale:
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.'); }
Codul de mai sus folosește declarația condițională java constructs pentru a compara valoarea reală și valoarea așteptată. Pe baza rezultatului obținut, declarația tipărită va fi executată.
Instanțare WebElement
WebElement nume de utilizator = driver.findElement (By.id („Email”));
În declarația de mai sus, instanțăm referința WebElement cu ajutorul „Driver.findElement (By.id („ Email ”))”. Astfel, numele de utilizator poate fi utilizat pentru a face referire la caseta de text E-mail de pe interfața utilizatorului de fiecare dată când dorim să efectuăm o acțiune asupra acestuia.
Ștergeți comanda
username.clear ();
Metoda / comanda clear () este utilizată pentru a șterge valoarea prezentă în caseta de text, dacă există. Șterge, de asemenea, valoarea implicită a substituentului.
adăugați la sfârșitul matricei Java
Comanda sendKeys
username.sendKeys („TestSelenium“);
sendKeys () metoda / comanda este utilizată pentru a introduce / tasta valoarea specificată (în paranteze) în caseta de text. Observați că sendKeys () metoda este apelată pe obiectul WebElement care a fost instanțiat cu ajutorul proprietății elementului corespunzător elementului UI.
Blocul de cod de mai sus introduce șirul „TestSelenium” în caseta de text E-mail din aplicația Gmail.
sendKeys este una dintre cele mai utilizate comenzi în scripturile WebDriver.
Faceți clic pe Comandă
SignInButton.click ();
Ca sendKeys (), faceți clic pe () este o altă comandă folosită excesiv pentru a interacționa cu elementele web. Clic() comanda / metoda este utilizată pentru a face clic pe elementul web prezent pe pagina web.
Blocul de cod de mai sus face clic pe butonul „Conectare” prezent în aplicația Gmail.
Note:
- Spre deosebire de metoda sendKeys (), metodele click () nu pot fi niciodată parametrizate.
- Uneori, făcând clic pe un element web se poate încărca cu totul o nouă pagină. Astfel, pentru a susține astfel de cazuri, metoda click () este codificată astfel încât să aștepte până când pagina este încărcată.
Închideți browserul web
driver.close ();
Închiderea () este utilizată pentru a închide fereastra curentă a browserului.
Încheiați programul Java
System.exit (0);
Metoda Exit () termină programul Java cu forță. Astfel, nu uitați să închideți toate instanțele browserului înainte de a termina programul Java.
Executarea testului
Scriptul de testare sau pur și simplu programul java pot fi executate în următoarele moduri:
întrebări și răspunsuri la interviu angularjs pentru pdf cu experiență
# 1. Sub bara de meniu a Eclipsei, există o pictogramă pentru a executa scriptul de testare. Consultați următoarea figură.
Notați că numai clasa selectată va fi executată.
#Două. Faceți clic dreapta oriunde în cadrul clasei din editor, selectați opțiunea „Executare ca” și faceți clic pe „Aplicația Java”.
# 3. O altă comandă rapidă pentru a executa scriptul de testare este - Apăsați ctrl + F11.
La sfârșitul ciclului de execuție, declarația de tipărire „Scriptul de testare a fost executat cu succes”. poate fi găsit în consolă.
Localizarea elementelor web
Elementele web din WebDriver pot fi localizate și inspectate în același mod ca și în cazul tutorialelor anterioare ale Selenium IDE. Selenium IDE și Firebug pot fi utilizate pentru a inspecta elementul web pe GUI. Este foarte recomandat să utilizați Selenium IDE pentru a găsi elementele web. Odată ce elementul web a fost găsit cu succes, copiați și lipiți valoarea țintă în codul WebDriver. Tipurile de localizatori și strategiile de localizare sunt cam aceleași, cu excepția sintaxei și a aplicării acestora.
În WebDriver, elementele web sunt localizate cu ajutorul căutătorilor dinamici (findElement (By.locatorType („valoare de localizare”))).
Cod simplu:
driver.findElement (By.id („Email”));
Tipuri de localizatoare și sintaxa acestora
Tipul de localizare | Sintaxă | Descriere |
---|---|---|
cssSelector | driver.findElement (By.cssSelector („Selector CSS”)) | Localizați după valoarea selectorul CSS |
id | driver.findElement (By.id („ID_of_Element”)) | Localizați după valoarea atributul „id” |
numele clasei | driver.findElement (După.className („Class_of_Element”)) | Localizați după valoarea atributul „clasă” |
linkText | driver.findElement (By.linkText („Text”)) | Localizați după valoarea textul hyperlinkului |
partialLinkText | driver.findElement (By.partialLinkText („Text parțial”)) | Localizați după valoarea sub-text al hyperlinkului |
Nume | driver.findElement (Dupa nume („Name_of_Element”)) | Localizați după valoarea Atributul „nume” |
xpath | driver.findElement (By.xpath („Xpath”)) | Localizați după valoare al xpath |
nume eticheta | driver.findElement (By.tagName („input”)) | Localizați după valoarea numele etichetei sale |
Concluzie
În acest tutorial, am dezvoltat un script de automatizare folosind WebDriver și Java. De asemenea, am discutat despre diferitele componente care constituie un script WebDriver.
Iată punctele cruciale ale acestui tutorial Selenium WebDriver:
- Înainte de scriptarea propriu-zisă, trebuie să importăm câteva pachete pentru a putea crea un script WebDriver.
- import openqa.selenium.By;
- import openqa.selenium.WebDriver;
- import openqa.selenium.WebElement;
- import openqa.selenium.firefox.FirefoxDriver;
- LA obține() metoda utilizată pentru a lansa o nouă instanță de browser web. Secvența de caractere trecută ca parametru în metoda get () redirecționează instanța browserului web lansat către adresa URL a aplicației.
- maximiza () metoda este utilizată pentru a maximiza fereastra browserului.
- clar() metoda este utilizată pentru a șterge valoarea prezentă în caseta de text, dacă există.
- sendKeys () metoda este utilizată pentru a introduce valoarea specificată în caseta de text.
- Clic() metoda este utilizată pentru a face clic pe elementul web prezent pe pagina web.
- În WebDriver, elementele web pot fi localizate folosind căutători dinamici.
- Următoarele sunt tipurile de localizatoare disponibile:
- id
- numele clasei
- Nume
- xpath
- cssSelector
- linkText
- partialLinkText
- nume eticheta
Mergând mai departe, în următorul tutorial, ne-am îndrepta atenția către un cadru care ajută la testarea automatizării cunoscut sub numele de TestNG. Am avea un studiu detaliat asupra diferitelor tipuri de adnotări furnizate de cadru.
Următorul tutorial # 11 : Înainte de a scufunda adânc în Frameworks, vom vedea detalii despre JUnit - un instrument de testare a unității open source. Majoritatea programatorilor folosesc JUnit, deoarece este ușor și nu depune eforturi mari pentru a testa. Acest tutorial vă va oferi o perspectivă despre JUnit și despre utilizarea acestuia în scriptul seleniu.
O remarcă pentru cititori: În timp ce următorul nostru tutorial din seria Selenium se află în modul de procesare, cititorii pot începe să își creeze propriile scripturi de bază WebDriver. Pentru mai multe scripturi și concepte avansate, vom avea diverse alte tutoriale Selenium WebDriver care vor apărea în această serie.
Spuneți-ne în comentarii dacă aveți vreo problemă la crearea sau executarea scripturilor WebDriver.
Lectură recomandată
- Introducere în Selenium WebDriver - Tutorial Selenium # 8
- Tutorial Castravete Seleniu: Integrare Castravete Java Seleniu WebDriver
- WebDriver Întreg instalare și instalare cu Eclipse - Selenium Tutorial # 9
- Verificați vizibilitatea elementelor web utilizând diverse tipuri de comenzi WebDriver - Tutorial Selenium # 14
- Scenarii eficiente cu scripturi și depanare Selenium - Tutorial Selenium # 27
- Cum să gestionați alertele / ferestrele pop-up în Selenium WebDriver - Selenium Tutorial # 16
- Depanarea scripturilor Selenium cu jurnale (Tutorial Log4j) - Tutorial Selenium # 26
- Introducere în JUnit Framework și utilizarea sa în Selenium Script - Selenium Tutorial # 11