what is hybrid framework selenium
Acest tutorial informativ explică ce este un cadru hibrid, utilizările și componentele cadrului Selenium Hybrid Driven și cum să îl implementăm:
Ce este un cadru hibrid?
Hybrid Driven Framework este o combinație atât a cadrului bazat pe date, cât și a cadrului bazat pe cuvinte cheie.
Aici, cuvintele cheie, precum și datele de testare sunt externalizate. Cuvintele cheie sunt menținute într-un fișier de clasă Java separat, iar datele de test pot fi păstrate fie într-un fișier de proprietăți / fișier excel / pot utiliza furnizorul de date dintr-un cadru TestNG.
=> Verificați aici pentru a vedea tutorialele de instruire A-Z ale seleniului aici.
Ce veți învăța:
c # întrebări și răspunsuri la interviu tehnic
Introducere în cadrul hibrid
Iată Tutorialul video:
Cadrul Hybrid Driven este în mare parteutilizate de testeri manuali care nu aumultă cunoaștere a limbajelor de programare. Astfel de persoane pot doar să arunce o privire asupra Cuvintelor cheie, a datelor de testare, a depozitului de obiecte și să înceapă să creeze cazul de testare imediat, fără a fi nevoie să codeze nimic în cadrul.
Componente ale cadrului bazat pe hibrid
Componentele cadrului hibrid sunt similare cu componentele cadrului bazat pe cuvinte cheieîn care toate datele de testare, precum și cuvintele cheie, sunt externalizate făcând ca scriptul să apară într-o formă mai generalizată
- Biblioteca de funcții
- Foaie Excel pentru a stoca cuvinte cheie
- Șablon de caz de testare de proiectare
- Depozit de obiecte pentru elemente / localizatori
- Testează Scripturi sau Driver Driver
# 1) Biblioteca de funcții
Metodele definite de utilizator sunt create pentru fiecare acțiune a utilizatorului. Cu alte cuvinte, cuvintele cheie sunt create în fișierul bibliotecii.
De exemplu: Să luăm o instanță pentru a automatiza cazurile de test de mai jos.
Cazul de testare nr | Descriere | Pașii de testare | rezultat asteptat | ||
---|---|---|---|---|---|
AssertElement | xpath | // div (conține (@ id, „usericon”)) | Afișat | ||
unu | Verificați sigla Amazon prezentă | 1. Introduceți adresa URL - https://www.amazon.com | Sigla Amazon ar trebui să fie afișată în pagina de pornire | ||
Două | Verificați autentificarea validă | 1. Introduceți adresa URL - https://www.amazon.com 2. Faceți clic pe linkul „Conectare” 3. Introduceți un e-mail valid 4. Faceți clic pe continuare 5. Introduceți parola validă 6. Faceți clic pe SignInButton | Pictograma utilizatorului ar trebui să fie prezentă în pagina principală | ||
3 | Autentificare invalid | 1. Introduceți adresa URL - https://www.amazon.com 2. Faceți clic pe linkul „Conectare” 3. Introduceți un e-mail nevalid 4. Faceți clic pe continuare | Acest mesaj de eroare trebuie să conțină „nu se poate găsi un cont” |
În primul rând, sunt analizate cazurile de testare și pașii de testare și se notează acțiunile sale.
Spune, în TC 01: Verificați sigla Amazon prezentă - acțiunile utilizatorului vor fi: Introduceți adresa URL
În TC 02: Verificați autentificarea validă - acțiunile utilizatorului sunt Enter URL, Click, TypeIn
În TC03: Verificați autentificarea nevalidă - acțiunile utilizatorului sunt Enter URL, Click, TypeIn
Acum, fișierul de bibliotecă va fi creat cu cuvinte cheie definite pentru fiecare acțiune după cum urmează:
cum se scrie un plan de testare software
Cuvinte cheie.java
package Keywords.Defined; import java.io.File; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; public class Keywords { String path = System.getProperty('user.dir'); WebDriver driver; // driver object is declared //method for entering URL – Keyword is ‘enter_URL’ public void enter_URL(WebDriver driver,String TestData) throws IOException { driver.get(TestData); } //method for typing action – Keyword is ‘type’ public void typeIn(WebDriver driver, String locatorValue, String locatorType, String testdata) { driver.findElement(this.getObject(ObjectName,locatorType)).sendKeys(testdata); } //method for click action – Keyword is ‘click’ public void click(WebDriver driver, String locatorValue, String locatorType) { driver.findElement(this.getObject(ObjectName,locatorType)).click(); } }
# 2) Foaie Excel pentru a stoca cuvinte cheie
Cuvintele cheie create în fișierul bibliotecii sunt stocate într-o foaie Excel cu descrierea acesteia pentru ca oricine folosește acest cadru să le înțeleagă.
# 3) Șablon de caz de testare a proiectării
Un șablon de caz de testare este creat pentru cadru. Nu există un șablon specific de urmat. Conform cadrului hibrid, atât datele de testare, cât și cuvintele cheie ar trebui externalizate. Deci, un șablon este creat în consecință. De exemplu:
Pentru cazul de test 2 - Verificați autentificarea validă
Pașii de testare | Tipul de localizare | Valoarea localizatorului | TestData | AssertionType | Valorea estimata |
---|---|---|---|---|---|
Introdu URL-ul | https://www.amazon.com | ||||
Clic | xpath | // div (conține (@ id, „Conectare”)) | |||
introduceți | xpath | // div (conține (@ id, „e-mail”)) | test@gmail.com | ||
Clic | xpath | // div (conține (@ id, „continuați”)) | |||
introduceți | id | parola | Parola @ 123 | ||
Clic | id | Conectare |
La fel, pașii de testare sunt completați pentru fiecare caz de testare într-o foaie separată.
# 4) Depozit de obiecte pentru elemente
Se păstrează un depozit separat pentru toate elementele de pe pagina web. Fiecare WebElement este menționat cu un nume urmat de valoarea sa într-un depozit de obiecte (în acest caz, este un fișier de proprietăți). Șablonul Test Case va conține numele obiectului, iar valoarea acestuia este preluată din depozit, după cum urmează:
Aici, LoginLink este numele obiectului și valoarea acestuia este citită din OR.properties ca ‘// div (conține (@id,‘ SignIn ’))
În consecință, codul pentru a citi valoarea din ObjectRepository va fi inclus în scriptul Keywords.java
De exemplu Fișier bibliotecă: luați în considerare acțiunea „faceți clic” în Cuvinte cheie.java
public class Keywords { public void click(WebDriver driver, String ObjectName, String locatorType) throws IOException{ driver.findElement(this.getObject(ObjectName, locatorType)).click(); } By getObject(String ObjectName, String locatorType) throws IOException{ //Object Repository is opened File file = new File(path+'\Externals\Object Repository.properties'); FileInputStream fileInput = new FileInputStream(file); //Properties file is read Properties prop = new Properties(); //find by xpath if(locatorType.equalsIgnoreCase('XPATH')){ return By.xpath(prop.getProperty(ObjectName)); // ObjectName is read and its value is returned } //find by class else if(locatorType.equalsIgnoreCase('ID')){ return By.Id(prop.getProperty(ObjectName)); // ObjectName is read and its value is returned } //find by name else if(locatorType.equalsIgnoreCase('NAME')){ return By.name(prop.getProperty(ObjectName)); // ObjectName is read and its value is returned } return null; } }
Depozit de obiecte pentru datele de testare în cazurile de testare
Permiteți-mi să vă arăt un exemplu simplu al modului în care toate datele de test implicate în script sunt externalizate, având cadrul mai generalizat.
- Externalizarea datelor de testare din cazul de testare Șablon:
În mod similar, datele de testare sunt citite și din fișierul de proprietăți.
- Depozit de obiecte pentru datele de testare în scriptul general
Alte date generale, cum ar fi numele browserului, locația driverului executabil, numele fișierului cazului de testare etc., pot fi, de asemenea, externalizate într-un depozit separat.
În exemplul de mai sus, parametrul browserului este externalizat într-un fișier de proprietăți - Basic.properties.
- Trecerea datelor de testare din TestNG Suite:
TestData poate fi, de asemenea, transmis de la un fișier suită de TestNG la metodă.
Folosim o etichetă numită în fișierul TestNG.xml chiar deasupra clasei în care este utilizat.
Sintaxă:
Odată ce suita de testare este specificată cu numele parametrului și valoarea acestuia, adnotările sunt utilizate în script pentru a specifica ce metodă utilizează valoarea. Acest lucru este specificat folosind adnotarea @Parameters.
cel mai bun server privat pentru pvp
Sintaxă: @Parameters ({„value_to_be_passed”})
Mai mulți parametri pot fi, de asemenea, transferați unei metode ca:
Sintaxă:
@Parameters({“Chrome”}, {“ TestCase.xls”}, {“ chromedriver.exe”}) public void init(String Browser, String SheetName, String DriverLocation){ ….. …… ………. }
Rețineți că acest lucru nu se referă la mai multe valori ale aceluiași parametru, ci ia numai valori multiple ale parametrilor diferiți.
# 5) Script driver
Acesta conține logica principală pentru a citi toate cazurile de test din foaia Excel a șablonului cazului de testare și efectuează acțiunea corespunzătoare citind din fișierul bibliotecii. Scriptul este conceput pe baza șablonului de caz de test creat.
Concluzie
Astfel, un cadru hibrid poate fi creat și utilizat pentru a automatiza orice aplicație. Acest lucru, la rândul său, va reduce orele de muncă petrecute în scriptarea codului de automatizare, deoarece un cadru odată creat poate fi utilizat pentru automatizarea mai multor aplicații.
În mod similar, cadrele pot fi create în funcție de necesitățile proiectului și utilizate în scopuri de automatizare.
Sperăm că ți-a plăcut seria de tutoriale informative despre Selenium!
=> Verificați TOATE Tutorialele Selenium aici.
Lectură recomandată
- Cadru bazat pe date în Selenium WebDriver folosind Apache POI
- Crearea cadrului Selenium și accesarea datelor de testare din Excel - Tutorial Selenium # 21
- Introducere în JUnit Framework și utilizarea sa în Selenium Script - Selenium Tutorial # 11
- Cum se folosește TestNG Framework pentru crearea de scripturi Selenium - TestNG Selenium Tutorial # 12
- Testare bazată pe date sau parametrizată cu Spock Framework
- Tutorial Castravete Seleniu: Integrare Castravete Java Seleniu WebDriver
- Introducere în Selenium WebDriver - Tutorial Selenium # 8
- Cum se citește sau se scrie date dintr-o foaie Excel în Selenium Web Driver