what is hybrid framework selenium
Denne informative vejledning forklarer, hvad der er en hybrid ramme, anvendelser og komponenter i Selen Hybrid Driven Framework, og hvordan man implementerer den:
Hvad er en hybrid ramme?
Hybrid Driven Framework er en kombination af både den datadrevne og søgeordsdrevne ramme.
Her eksternaliseres nøgleordene såvel som testdataene. Nøgleord vedligeholdes i en separat Java-klassefil, og testdata kan opretholdes enten i en egenskabsfil / excel-fil / kan bruge dataudbyderen af en TestNG-ramme.
=> Tjek her for at se AZ af selen træning tutorials her.
Hvad du vil lære:
hvordan man starter en .jar-fil
Introduktion til hybrid ramme
Her er videoundervisningen:
Hybrid Driven framework er for det mestebruges af manuelle testere, der ikke harmeget kendskab til programmeringssprog. Sådanne mennesker kan bare se på nøgleord, testdata, objektlager og begynde at oprette testkassen med det samme uden at skulle kode noget i rammen.
Komponenter af hybriddrevet ramme
Komponenterne i Hybrid Framework svarer til komponenterne i Keyword Driven Frameworkhvor hver testdata såvel som nøgleordene er eksternaliseret, hvilket får scriptet til at vises i en mere generaliseret form
- Funktionsbibliotek
- Excel-ark til opbevaring af nøgleord
- Design test sag skabelon
- Objektlager for elementer / lokaliseringer
- Test scripts eller Driver Script
# 1) Funktionsbibliotek
Brugerdefinerede metoder oprettes for hver brugerhandling. Med andre ord oprettes nøgleord i biblioteksfilen.
For eksempel: Lad os tage en instans for at automatisere nedenstående testsager.
Test sag nr | Beskrivelse | Test trin | forventet resultat | ||
---|---|---|---|---|---|
AssertElement | xpath | // div (indeholder (@ id, 'usericon')) | Vises | ||
1 | Bekræft Amazon-logoet til stede | 1. Indtast URL - https://www.amazon.com | Amazon-logoet skal vises på startsiden | ||
to | Bekræft gyldigt login | 1. Indtast URL - https://www.amazon.com 2. Klik på linket 'Log ind' 3. Indtast gyldig e-mail 4. Klik på Fortsæt 5. Indtast gyldig adgangskode 6. Klik på SignInButton | Brugerikonet skal være til stede på hjemmesiden | ||
3 | Ugyldigt login | 1. Indtast URL - https://www.amazon.com 2. Klik på linket 'Log ind' 3. Indtast ugyldig e-mail 4. Klik på Fortsæt | Denne fejlmeddelelse skal indeholde 'kan ikke finde en konto' |
For det første analyseres testsagerne og dens testtrin, og dets handlinger noteres.
Sig, ind TC 01: Bekræft Amazon-logoet til stede - brugerhandlingerne vil være: Indtast URL
I TC 02: Bekræft gyldig login - brugerhandlingerne er Enter URL, Click, TypeIn
I TC03: Bekræft ugyldigt login - brugerhandlingerne er Enter URL, Click, TypeIn
Nu oprettes biblioteksfilen med nøgleord defineret for hver handling som nedenfor:
c ++ og java forskelle
Nøgleord. 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) Excel-ark til opbevaring af nøgleord
Nøgleord, der oprettes i biblioteksfilen, gemmes i et excel-ark med beskrivelsen, som alle, der bruger denne ramme, kan forstå.
# 3) Design test sag skabelon
En skabelon til testsag oprettes til rammen. Der er ingen specifik skabelon at følge. I henhold til Hybrid Framework skal både testdata og nøgleord eksternaliseres. Så der oprettes en skabelon i overensstemmelse hermed. For eksempel:
Til testtilfælde 2 - Bekræft gyldig login
Test trin | Locator Type | Locator værdi | TestData | AssertionType | Forventet værdi |
---|---|---|---|---|---|
indtast_URL | https://www.amazon.com | ||||
Klik på | xpath | // div (indeholder (@ id, 'SignIn')) | |||
indtaste | xpath | // div (indeholder (@ id, 'e-mail')) | test@gmail.com | ||
Klik på | xpath | // div (indeholder (@ id, 'fortsæt')) | |||
indtaste | id | adgangskode | Adgangskode @ 123 | ||
Klik på | id | Log ind |
Ligeledes udfyldes testtrin for hvert test tilfælde i et separat ark.
# 4) Objektopbevaring til elementer
Der opretholdes et separat arkiv for alle elementer på websiden. Hvert WebElement henvises med et navn efterfulgt af dets værdi i et objektlager (i dette tilfælde er det en egenskabsfil). Test Case-skabelonen indeholder objektnavnet, og dens værdi hentes fra arkivet som nedenfor:
Her er LoginLink navnet på objektet, og dets værdi læses fra OR.properties som '// div (indeholder (@id,' SignIn '))
Følgelig vil kode til at læse værdien fra ObjectRepository inkluderes i scriptet Keywords.java
For eksempel Biblioteksfil: Overvej 'klik' handling i Keywords.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; } }
Objektopbevaring til testdata i testtilfælde
Lad mig vise dig et simpelt eksempel på, hvordan alle testdata, der er involveret i scriptet, eksternaliseres og har rammen mere generaliseret.
- Eksternalisering af testdata fra testcase-skabelon:
På samme måde læses testdata også fra egenskabsfilen.
- Objektlager til testdata i generelt script
Andre generelle data som browsernavn, eksekverbar driverplacering, testkassefilnavn osv kan også eksternaliseres i et separat lager.
I ovenstående eksempel er browserparameteren eksternaliseret i en egenskabsfil - Basic.properties.
- Videregivelse af testdata fra TestNG Suite:
TestData kan også overføres fra en suite-fil af TestNG til metoden.
hvad betyder udefineret reference i c ++
Vi bruger et mærke kaldet i filen TestNG.xml lige over klassen, hvor det bruges.
Syntaks:
Når testpakken er angivet med parameternavnet og dens værdi, bruges annoteringer i scriptet til at specificere, hvilken metode der bruger værdien. Dette specificeres ved hjælp af @Parameters-kommentaren.
Syntaks: @Parameters ({“value_to_be_passed”})
Flere parametre kan også overføres til en metode som:
Syntaks:
@Parameters({“Chrome”}, {“ TestCase.xls”}, {“ chromedriver.exe”}) public void init(String Browser, String SheetName, String DriverLocation){ ….. …… ………. }
Bemærk, at dette ikke refererer til flere værdier for den samme parameter, det tager kun flere værdier for forskellige parametre.
# 5) Driver-script
Dette indeholder hovedlogikken til at læse alle testcases fra excel-arket til testcase-skabelonen og udfører den tilsvarende handling ved at læse fra biblioteksfilen. Scriptet er designet ud fra den oprettede testcase-skabelon.
Konklusion
Således kan en hybrid ramme oprettes og bruges til at automatisere enhver applikation. Dette vil til gengæld reducere de arbejdstimer, der bruges til at scripte automatiseringskoden, da en ramme, der en gang er oprettet, kan bruges til at automatisere flere applikationer.
Tilsvarende kan rammer oprettes i henhold til projektets behov og bruges til automatiseringsformål.
Vi håber, at du nød serien af informative tutorials om selen!
=> Tjek ALLE Selen-vejledninger her.
Anbefalet læsning
- Datadrevet ramme i Selen WebDriver ved hjælp af Apache POI
- Selenium Framework Creation og adgang til testdata fra Excel - Selenium Tutorial # 21
- Introduktion til JUnit Framework og dens anvendelse i Selenium Script - Selen Tutorial # 11
- Sådan bruges TestNG Framework til oprettelse af selen-scripts - TestNG Selen Tutorial # 12
- Datadrevet eller parametreret test med Spock Framework
- Agurk Selen Tutorial: Agurk Java Selen WebDriver Integration
- Introduktion til Selen WebDriver - Selen Tutorial # 8
- Sådan læses eller skrives data fra Excel-ark i Selen Web Driver