what is hybrid framework selenium
Denne informative opplæringen forklarer hva som er en hybrid ramme, bruksområder og komponenter i Selen Hybrid Driven Framework, og hvordan du implementerer den:
Hva er en hybrid ramme?
Hybrid Driven Framework er en kombinasjon av både datadrevet og søkeorddrevet rammeverk.
Her blir nøkkelordene, så vel som testdataene, eksternalisert. Nøkkelord opprettholdes i en egen Java-klassefil, og testdata kan opprettholdes enten i en egenskapsfil / excel-fil / kan bruke dataleverandøren til et TestNG-rammeverk.
=> Sjekk her for å se AZ av selen opplæringsveiledninger her.
Hva du vil lære:
hvorfor du velger programvaretestintervju
Introduksjon til Hybrid Framework
Her er videoopplæringen:
Hybrid Driven framework er for det mestebrukes av manuelle testere som ikke harmye kunnskap om programmeringsspråk. Slike mennesker kan bare ta en titt på Keywords, Test data, Object repository og begynne å lage testsaken med en gang, uten å måtte kode noe i rammen.
Komponenter av hybriddrevet rammeverk
Komponentene i Hybrid Framework ligner på komponentene i Keyword Driven Frameworkhvor hver testdata, så vel som nøkkelordene, blir eksternalisert, slik at skriptet vises i en mer generalisert form
- Funksjonsbibliotek
- Excel-ark for å lagre nøkkelord
- Design Test Case Mal
- Objektregister for elementer / lokatorer
- Test skript eller driverskript
# 1) Funksjonsbibliotek
Brukerdefinerte metoder opprettes for hver brukerhandling. Med andre ord blir nøkkelord opprettet i biblioteksfilen.
For eksempel: La oss ta en forekomst for å automatisere testtilfellene nedenfor.
Prøvesak nr | Beskrivelse | Teststrinn | forventet resultat | ||
---|---|---|---|---|---|
AssertElement | xpath | // div (inneholder (@ id, 'usericon')) | Vises | ||
1 | Bekreft Amazon-logoen til stede | 1. Skriv inn URL - https://www.amazon.com | Amazon-logoen skal vises på hjemmesiden | ||
to | Bekreft gyldig pålogging | 1. Skriv inn URL - https://www.amazon.com 2. Klikk på koblingen 'Logg på' 3. Skriv inn gyldig e-post 4. Klikk på Fortsett 5. Skriv inn gyldig passord 6. Klikk på SignInButton | Brukerikonet skal være til stede på hjemmesiden | ||
3 | Ugyldig innlogging | 1. Skriv inn URL - https://www.amazon.com 2. Klikk på koblingen 'Logg på' 3. Angi ugyldig e-post 4. Klikk på Fortsett | Denne feilmeldingen skal inneholde 'finner ikke en konto' |
Først analyseres testtilfellene og testtrinnene og handlingene noteres.
Si inn TC 01: Bekreft Amazon-logoen til stede - brukerhandlingene vil være: Skriv inn URL
I TC 02: Bekreft gyldig pålogging - brukerhandlingene er Enter URL, Click, TypeIn
I TC03: Bekreft ugyldig pålogging - brukerhandlingene er Enter URL, Click, TypeIn
Nå blir bibliotekfilen opprettet med nøkkelord definert for hver handling som nedenfor:
eksempler på internett av ting enheter
Nøkkelord. 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 for å lagre nøkkelord
Nøkkelord som er opprettet i bibliotekfilen, lagres i et excel-ark med beskrivelsen for alle som bruker dette rammeverket.
# 3) Design Test Case Mal
En testsaksmal opprettes for rammeverket. Det er ingen spesifikk mal å følge. I henhold til Hybrid Framework, skal både testdata og nøkkelord være eksternaliserte. Så, en mal opprettes deretter. For eksempel:
For prøvesak 2 - Bekreft gyldig pålogging
Teststrinn | Locator Type | Locator Verdi | Testdata | AssertionType | Forventet verdi |
---|---|---|---|---|---|
enter_URL | https://www.amazon.com | ||||
Klikk | xpath | // div (inneholder (@ id, 'SignIn')) | |||
Skriv inn | xpath | // div (inneholder (@ id, 'e-post')) | test@gmail.com | ||
Klikk | xpath | // div (inneholder (@ id, 'fortsett')) | |||
Skriv inn | id | passord | Passord @ 123 | ||
Klikk | id | Logg inn |
På samme måte fylles teststrinn ut for hver testtilfelle i et eget ark.
# 4) Objektregister for elementer
Et eget arkiv vedlikeholdes for alle elementene på websiden. Hvert WebElement blir henvist med et navn etterfulgt av verdien i et objektlager (i dette tilfellet er det en egenskapsfil). Test Case-malen inneholder objektnavnet, og verdien hentes fra depotet som nedenfor:
Her er LoginLink navnet på objektet og verdien leses fra OR.properties som ‘// div (inneholder (@id,‘ SignIn ’))
Følgelig vil kode for å lese verdien fra ObjectRepository bli inkludert i skriptet Keywords.java
For eksempel Biblioteksfil: vurder 'klikk' -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; } }
Objektregister for testdata i testtilfeller
La meg vise deg et enkelt eksempel på hvordan alle testdata som er involvert i skriptet blir eksternalisert, og har rammeverket mer generalisert.
- Eksternalisering av testdata fra testsaksmal:
Tilsvarende blir testdata også lest fra egenskapsfilen.
- Objektlager for testdata i generelt skript
Andre generelle data som nettlesernavn, kjørbar driverplassering, testkassens filnavn osv. Kan også eksternaliseres i et eget depot.
I eksemplet ovenfor blir nettleserparameteren eksternalisert i en egenskapsfil - Basic.properties.
- Overføring av testdata fra TestNG Suite:
TestData kan også overføres fra en suite-fil av TestNG til metoden.
Vi bruker en tag som heter TestNG.xml-filen rett over klassen der den brukes.
Syntaks:
Når testpakken er spesifisert med parameternavnet og verdien, brukes merknader i skriptet for å spesifisere hvilken metode som bruker verdien. Dette spesifiseres ved hjelp av @Parameters-merknaden.
Syntaks: @Parameters ({“value_to_be_passed”})
beste stedet å se anime kalt
Flere parametere kan også overføres til en metode som:
Syntaks:
@Parameters({“Chrome”}, {“ TestCase.xls”}, {“ chromedriver.exe”}) public void init(String Browser, String SheetName, String DriverLocation){ ….. …… ………. }
Merk at dette ikke refererer til flere verdier av den samme parameteren, det tar bare flere verdier av forskjellige parametere.
# 5) Driverskript
Dette inneholder hovedlogikken for å lese alle testtilfellene fra excel-arket for testsaksmalen og utfører den tilsvarende handlingen ved å lese fra biblioteksfilen. Skriptet er utformet basert på test case mal opprettet.
Konklusjon
Dermed kan et hybrid rammeverk opprettes og brukes til å automatisere alle applikasjoner. Dette vil igjen redusere arbeidstiden som brukes på skripting av automatiseringskoden, siden et rammeverk som er opprettet kan brukes til å automatisere flere applikasjoner.
På samme måte kan rammer lages i henhold til prosjektets behov og brukes til automatiseringsformål.
Vi håper du likte serien med informative veiledninger om Selen!
=> Sjekk ALLE Selen-opplæringsprogrammer her.
Anbefalt lesing
- Datadrevet rammeverk i Selen WebDriver ved hjelp av Apache POI
- Selen Framework Creation and Accessing Test Data from Excel - Selenium Tutorial # 21
- Introduksjon til JUnit Framework and Its Usage in Selenium Script - Selenium Tutorial # 11
- Hvordan bruke TestNG Framework for å lage selenskript - TestNG Selen Tutorial # 12
- Datadrevet eller parametrisert testing med Spock Framework
- Agurk Selen Tutorial: Agurk Java Selen WebDriver Integration
- Introduksjon til Selenium WebDriver - Selenium Tutorial # 8
- Hvordan lese eller skrive data fra Excel-ark i Selen Web Driver