what is hybrid framework selenium
Denna informativa handledning förklarar vad som är ett hybridramverk, användningsområden och komponenter i selenhybriddrivet ramverk och hur man implementerar det:
Vad är ett hybridramverk?
Hybrid Driven Framework är en kombination av både datadriven och nyckelorddriven ram.
Här är nyckelorden, liksom testdata, externa. Nyckelord underhålls i en separat Java-klassfil och testdata kan underhållas antingen i en egenskapsfil / excel-fil / kan använda dataleverantören i ett TestNG-ramverk.
=> Kolla här för att se A-Z av selenutbildningar här.
Vad du kommer att lära dig:
programvara för att ladda ner video från vilken webbplats som helst
Introduktion till Hybrid Framework
Här är videotutorial:
Hybrid Driven ramverk är mestadelsanvänds av manuella testare som inte harmycket kunskap om programmeringsspråk. Sådana människor kan bara titta på Nyckelord, Testdata, Objektförvaret och börja skapa testfallet direkt utan att behöva koda något i ramverket.
Komponenter i hybriddriven ram
Komponenterna i Hybrid Framework liknar komponenterna i Keyword Driven Frameworkvarvid varje testdata, såväl som nyckelorden, är externa så att manuset visas i en mer generaliserad form
- Funktionsbibliotek
- Excel-ark för att lagra nyckelord
- Mall för designtestfall
- Objektförvar för element / lokaliserare
- Testskript eller drivrutinsskript
# 1) Funktionsbibliotek
Användardefinierade metoder skapas för varje användaråtgärd. Med andra ord skapas nyckelord i biblioteksfilen.
Till exempel: Låt oss ta en instans för att automatisera nedanstående testfall.
Testfall nr | Beskrivning | Teststeg | Förväntat resultat | ||
---|---|---|---|---|---|
AssertElement | xpath | // div (innehåller (@ id, 'usericon')) | Visas | ||
1 | Verifiera Amazon-logotypen närvarande | 1. Ange URL - https://www.amazon.com | Amazon-logotypen ska visas på hemsidan | ||
två | Verifiera giltig inloggning | 1. Ange URL - https://www.amazon.com 2. Klicka på länken 'Logga in' 3. Ange giltig e-post 4. Klicka på Fortsätt 5. Ange giltigt lösenord 6. Klicka på SignInButton | Användarikonen ska finnas på hemsidan | ||
3 | Ogiltig inloggning | 1. Ange URL - https://www.amazon.com 2. Klicka på länken 'Logga in' 3. Ange ogiltig e-post 4. Klicka på Fortsätt | Detta felmeddelande bör innehålla 'kan inte hitta ett konto' |
Först analyseras testfallet och dess teststeg och dess handlingar noteras.
Säg in TC 01: Kontrollera att Amazon-logotypen är närvarande - användaråtgärderna kommer att vara: Ange URL
I TC 02: Verifiera giltig inloggning - användaråtgärderna är Enter URL, Click, TypeIn
I TC03: Verifiera ogiltig inloggning - användaråtgärderna är Enter URL, Click, TypeIn
Nu skapas biblioteksfilen med nyckelord definierade för varje åtgärd enligt nedan:
hur man spelar mkv på pc
Nyckelord. 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 för att lagra nyckelord
Nyckelord som skapas i biblioteksfilen lagras i ett excel-ark med dess beskrivning för alla som använder detta ramverk att förstå.
# 3) Designtestmall
En testfallsmall skapas för ramverket. Det finns ingen specifik mall att följa. Enligt Hybrid Framework bör både testdata och nyckelord vara externa. Så, en mall skapas i enlighet därmed. Till exempel:
För testfall 2 - Verifiera giltig inloggning
Teststeg | Locator Type | Locator Värde | TestData | AssertionType | Förväntat värde |
---|---|---|---|---|---|
Skriv in URL | https://www.amazon.com | ||||
Klick | xpath | // div (innehåller (@ id, 'SignIn')) | |||
Skriv in | xpath | // div (innehåller (@ id, 'e-post')) | test@gmail.com | ||
Klick | xpath | // div (innehåller (@ id, 'fortsätt')) | |||
Skriv in | id | Lösenord | Lösenord @ 123 | ||
Klick | id | Logga in |
På samma sätt fylls teststegen i varje testfall i ett separat ark.
# 4) Objektförvar för element
Ett separat arkiv upprätthålls för alla element på webbsidan. Varje WebElement hänvisas med ett namn följt av dess värde i ett Objektförvar (i det här fallet är det en egenskapsfil). Testfallsmallen håller objektnamnet och dess värde tas från arkivet enligt nedan:
Här är LoginLink namnet på objektet och dess värde läses från OR.properties som '// div (innehåller (@id,' SignIn '))
Följaktligen kommer kod för att läsa värdet från ObjectRepository att inkluderas i skriptet Keywords.java
Till exempel Biblioteksfil: överväg 'klicka' 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; } }
Objektförvar för testdata i testfall
Låt mig visa dig ett enkelt exempel på hur alla testdata som är involverade i skriptet är externa, med ramarna mer generaliserade.
- Externalisera testdata från testfallsmall:
På samma sätt läses testdata också från egenskapsfilen.
- Objektförvar för testdata i allmänt skript
Andra allmänna data som webbläsarnamn, körbar drivrutinsplats, testfallets filnamn etc. kan också externiseras i ett separat arkiv.
I exemplet ovan är webbläsarparametern externiserad i en egenskapsfil - Basic.properties.
- Skicka testdata från TestNG Suite:
TestData kan också skickas från en svitfil av TestNG till metoden.
Vi använder en tagg som heter i filen TestNG.xml strax ovanför klassen där den används.
Syntax:
När testpaketet har specificerats med parameternamnet och dess värde används kommentarer i skriptet för att ange vilken metod som använder värdet. Detta anges med @Parameters-anteckningen.
Syntax: @Parameters ({“value_to_be_passed”})
Flera parametrar kan också skickas till en metod som:
Syntax:
@Parameters({“Chrome”}, {“ TestCase.xls”}, {“ chromedriver.exe”}) public void init(String Browser, String SheetName, String DriverLocation){ ….. …… ………. }
Observera att detta inte hänvisar till flera värden för samma parameter, det tar bara flera värden för olika parametrar.
sql frågor exempel med svar pdf
# 5) Drivrutinsskript
Detta innehåller huvudlogiken för att läsa alla testfall från excel-arket för testfallsmall och utför motsvarande åtgärd genom att läsa från biblioteksfilen. Skriptet är utformat baserat på skapad testfallsmall.
Slutsats
Således kan ett hybridramverk skapas och användas för att automatisera alla applikationer. Detta kommer i sin tur att minska arbetstiden för skriptning av automatiseringskoden, eftersom ett ramverk som en gång skapats kan användas för att automatisera flera applikationer.
På samma sätt kan ramar skapas efter projektbehov och användas för automatiseringsändamål.
Vi hoppas att du gillade serien informativa handledning om Selen!
=> Kontrollera ALLA Selen-handledning här.
Rekommenderad läsning
- Datadriven ram i Selen WebDriver med hjälp av Apache POI
- Selen Framework Creation and Accessing Test Data from Excel - Selenium Tutorial # 21
- Introduktion till JUnit Framework and Its Use in Selenium Script - Selenium Tutorial # 11
- Hur man använder TestNG Framework för att skapa Selen-skript - TestNG Selen Tutorial # 12
- Datadriven eller parametrerad testning med Spock Framework
- Gurka Selen Tutorial: Gurka Java Selen WebDriver Integration
- Introduktion till Selen WebDriver - Selen Tutorial # 8
- Hur man läser eller skriver data från Excel-ark i Selen Web Driver