testning är en avgörande fas i mjukvaruutveckling livscykel (SDLC). Manuell testning innebär i synnerhet det fysiska utförandet av testfall mot programmen för att upptäcka buggar och fel. Manuell testning utgjorde dock många utmaningar, och en metod för att automatisera testprocessen var efterfrågan. Som ett resultat introducerades Selen, ett kraftfullt automatiserat testverktyg.,
selen är en öppen källkod, automatiserad testning verktyg som används för att testa webbapplikationer i olika webbläsare. Så, här är den sorgliga delen, selen kan bara testa webbapplikationer. Stationära och mobila appar kan inte testas med selen. Andra verktyg, som bland annat HP: s QTP och Appium, kan dock användas för att testa programvara och mobila applikationer.
sticka ut från dina kamrater denna Bedömningssäsong
börja lära med Vår Gratis CoursesEnroll nu
men vad gör selen det allmänt använda testverktyget?, Här är några anledningar:
- selen är lätt att använda eftersom det är väsentligen utvecklat i JavaScript.
- selen kan testa webbapplikationer mot webbläsare som Firefox, Opera, Chrome och Safari, för att nämna några.
- testkoden kan skrivas i olika programmeringsspråk som Java, Perl, Python och PHP.
- selen är plattformsoberoende och kan distribueras på olika operativsystem som Windows, Linux och Macintosh.
- selen kan integreras med verktyg från tredje part som JUnit och TestNG för testhantering.,
om du är alla inriktade på en Selenintervju, här är de 30 vanliga intervjufrågorna.
Nybörjarnivå selen Intervju Frågor
Vad är selen suite komponenter?
selen Ide
det är en Firefox/Chrome plug-in som utvecklades för att påskynda skapandet av automatiseringsskript. Den registrerar användarens åtgärder i webbläsaren och exporterar dem som ett återanvändbart skript.
Selenium Remote Control (RC)
RC är en server som tillåter användare att skriva applikationstester på olika programmeringsspråk., Kommandona från testskriptet accepteras av den här servern och skickas till webbläsaren som Selenium core JavaScript-kommandon. Webbläsaren beter sig därefter.
selen WebDriver
WebDriver är ett programmeringsgränssnitt som hjälper till att skapa och köra testfall. Det ger möjlighet att agera på webbelement. Till skillnad från RC kräver WebDriver inte en extra server och interagerar inbyggt med webbläsarprogrammen.
Selennät
nätet var utformat för att distribuera kommandon till olika maskiner samtidigt., Det möjliggör parallellt utförande av test på olika webbläsare och olika operativsystem. Den är exceptionellt flexibel och är integrerad med andra svit komponenter för samtidig utförande.
vilka är begränsningarna för Selentestning?
- otillgänglighet av tillförlitlig teknisk support: eftersom selen är ett open-source-verktyg har det inte dedikerat tekniskt stöd för att lösa användarfrågorna.
- testar endast webbapplikationer: selen behöver integreras med verktyg från tredje part som Appium och TestNG för att testa stationära och mobila applikationer.,
- begränsat stöd för bildtestning.
- ingen inbyggd rapporterings-och testhanteringsanläggning: selen måste integreras med verktyg som TestNG, eller JUnit bland annat för att underlätta testrapportering och hantering.
- kan kräva kunskaper i programmeringsspråk: selen WebDriver förväntar sig att användaren har några grundläggande kunskaper om programmering.
vilka testtyper stöds av selen?
selen stöder regressionstestning och funktionell testning.,
regressionstestning – det är ett helt eller delvis Urval av redan utförda testfall som åter exekveras för att säkerställa att befintliga funktioner fungerar bra.
de steg som berörs är –
- re-testing: alla tester i den befintliga testsviten utförs. Det visar sig vara mycket dyrt och tidskrävande.
- Regressionstestval: testerna klassificeras som funktionstester, integrationstester och end to end-testerna. I detta steg väljs några av testen.,
- prioritering av testfall: de valda testfallen prioriteras baserat på affärseffekter och kritiska funktioner.
funktionell testning – funktionell testning innebär verifiering av varje funktion i ansökan med den erforderliga specifikationen.
Följande är stegen inblandade:
- identifiera Testingång
- beräkna testresultat
- utför test
- jämför testresultatet med det faktiska resultatet
vad är skillnaden mellan selen 2.0 och selen 3.0?
Selen 2.,0 är ett verktyg som gör utvecklingen av automatiserade tester för webbapplikationer enklare. Det representerar sammanslagningen av det ursprungliga Selenprojektet med Webdriverprojektet. Selen RC blev föråldrad eftersom sammanslagningen dock användes för bakåtkompatibilitet
selen 3.0 är den utökade versionen av selen 2.0. Det är i sig bakåtkompatibel och involverar inte selen RC. Den nya versionen kom tillsammans med flera buggfixar och ökad stabilitet.,
vad är principen om samma ursprung och hur hanteras den?
samma ursprungspolicy är en funktion som antagits för säkerhetsändamål. Enligt denna policy tillåter en webbläsare skript från en webbsida att komma åt innehållet på en annan webbsida förutsatt att båda sidorna har samma ursprung. Ursprunget avser en kombination av WEBBADRESSSCHEMA, värdnamn och portnummer.
samma Ursprungspolicy förhindrar ett skadligt skript på en sida för att komma åt känslig data på en annan webbsida.,
överväga ett JavaScript-program som används av google.com. detta testprogram kan komma åt alla Google – domänsidor som google.com/login, google.com/mail, etc. Det kan dock inte komma åt sidor från andra domäner som yahoo.com
selen RC infördes för att ta itu med detta. Servern fungerar som en klient konfigurerad HTTP-proxy och” tricks ” webbläsaren att tro att selen Core och webbapplikationen som testas kommer från samma ursprung.,
Full Stack Java Developer Course
porten till Master Web DevelopmentExplore Course
Vad är Selenese? Hur är det hemligstämplat?
Selenese är uppsättningen Selenkommandon som används för att testa din webbapplikation. Testaren kan testa trasiga länkar, förekomsten av vissa objekt på UI, Ajax funktionalitet, varningar, fönster, listalternativ, och mycket mer med Selenese.,
Action: kommandon som interagerar direkt med programmet
Accessors: Tillåt användaren att lagra vissa värden till en användardefinierad variabel
påståenden: verifierar det aktuella läget för programmet med ett förväntat tillstånd
ange vilka typer av webblokaliseringar.
Locator är ett kommando som berättar Selenium IDE vilka GUI-element (säg textruta, knappar, kryssrutor etc.) som den behöver för att fungera på. Locators anger åtgärdsområdet.,
Locator by ID: det tar en strängparameter som är ett värde för ID-attributet som returnerar objektet till findElement () – metoden.
driver. findElement(By.id (”användare”));
Locator av länken: om ditt riktade element är en länktext kan du använda by.linkText locator att hitta det elementet.
drivrutin.findElement (av.linkText (”Dagens erbjudanden”)).klicka på ();
Locator by Partial link: mållänken kan placeras med en del av texten i ett länktextelement.
drivrutin.findElement (av.linkText(”Tjänsten”)).,klicka på ();
Locator by Name: det första elementet med attributvärdet namn som matchar platsen kommer att returneras.
driver. findElement(By.name (”böcker”). klicka ());
Locator by TagName: lokaliserar alla element med matchande taggnamn
drivrutin.findElement (av.tagName (”knapp”).klicka på ());
Locator by classname: detta hittar element baserat på värdet av KLASSATTRIBUTET. Om ett element har många klasser kommer detta att matcha mot var och en av dem.
drivrutin.findElement (av.,className(”inputtext”));
Locator av XPath: Det tar en parameter-Sträng som är en XPATHEXPRESSION och den returnerar ett objekt för att findElement () – metoden.
drivrutin.findElement (av.xpath(”//span”)).getText ();
Locator by CSS Selector: lokaliserar element baserat på förarens underliggande CSS-väljare.
driver. findElement (by.csselector (”input#email”)).sendKeys (”[email protected]”);
vilka typer av waits stöds av WebDriver?,
implicita vänta – implicita vänta kommandon selen att vänta en viss tid innan du kastar ett ”inget sådant element” undantag.
drivrutin.hantera().timeout().implicitlyWait(TimeOut, TimeUnit.Vänta-Explicit vänta används för att tala om för Webbdrivrutinen att vänta på vissa villkor innan du kastar ett undantag för” ElementNotVisibleException”.,
WebDriverWait wait = new WebDriverWait(WebDriver Reference, TimeOut);
flytande vänta – det används för att berätta för webbdrivrutinen att vänta på ett tillstånd, liksom frekvensen med vilken vi vill kontrollera tillståndet innan du kastar ett ”ElementNotVisibleException” undantag.
nämna de typer av navigeringskommandon
driver.navigate (). to (”https://www.ebay.in/”); – navigerar till den medföljande URL
driver.navigera().uppdatera(); – den här metoden uppdaterar den aktuella sidan
drivrutin.navigera().,framåt (); – den här metoden gör samma operation som att klicka på framåtknappen i vilken webbläsare som helst. Det varken accepterar eller returnerar något.
drivrutin.navigera().tillbaka (); – den här metoden gör samma operation som att klicka på bakåtknappen i vilken webbläsare som helst. Det varken accepterar eller returnerar något.
vad är den största skillnaden mellan föraren.stäng() och förare.sluta()?
drivrutin.stäng()
det här kommandot stänger webbläsarens aktuella fönster. Om flera fönster är öppna stängs det aktuella fönstret för fokus.
drivrutin.,avsluta ()
När avsluta () anropas på drivrutinsinstansen och det finns en eller flera webbläsarfönster öppna, stängs alla öppna webbläsarfönster.
Intermediate Level Selenium Interview Questions
Hur skriver man text i en inmatningsruta med selen?
sendKeys() är den metod som används för att skriva text i inmatningsrutor
överväga följande exempel –
WebElement email = driver. findElement(By.id (”e – post”)); – hittar” e-post ” text med hjälp av ID locator
e-post. sendKeys(”[email protected]”); – skriver in text i URL-fältet
webelement password = driver.,findElement(By.id (”lösenord”)); – hittar” lösenord ” text med ID locator
lösenord.sendKeys (”abcdefgh123”); – skriver in text i lösenordsfältet
hur man klickar på en hyperlänk i selen?
drivrutin.findElement (av.linkText (”Dagens erbjudanden”)).klicka på ();
kommandot hittar elementet med länktext och klickar sedan på det elementet, där efter att användaren skulle omdirigeras till motsvarande sida.
drivrutin.findElement (av.partialLinkText(”Tjänsten”)).,klicka ();
ovanstående kommando hittar elementet baserat på substringen av länken som tillhandahålls i parentes och därmed partialLinkText() hittar webbelementet.
hur bläddrar man ner en sida med JavaScript?
scrollBy() metod används för att rulla ner webbsidan
allmän syntax:
executeScript(”fönster.scrollBy (x-pixlar,y-pixlar)”);
först, skapa ett JavaScript-objekt
JavascriptExecutor JS = (JavascriptExecutor) driver;
starta önskat program
driver.,get (”https://www.amazon.com”);
bläddra ner till önskad plats
js.executeScript (”fönster.scrollBy (0,1000)”);
fönstret rullas inte vertikalt Med 1000 pixlar
hur man hävdar titeln på en webbsida?
hämta titeln på webbsidan och lagra i en variabel
String actualTitle = driver.getTitle();
skriv in den förväntade titeln
String expectedTitle = ”abcdefgh”;
kontrollera om båda är lika
if(actualTitle.equalsIgnoreCase (expectedTitle))
System.ut.println (”Title Matched”);
else
System.ut.,println (”titeln matchade inte”);
alternativt,
hävda.assertEquals (actualTitle, expectedTitle);
hur mus håller muspekaren över ett webbelement?
actions class utility används för att sväva över ett webbelement i Selenium WebDriver
Instantiate Actions class.
Actions action = new Actions(driver);
i det här scenariot håller vi muspekaren över sökrutan på en webbplats
actions.moveToElement (driver. findElement(By.id (”ID för sökrutan”))).,utför();
behärska viktiga testkoncept som TestNG, Selenium IDE, Selenium Grid, Selenium WebDriver. Kolla in selen Certifiering Utbildning. Anmäl dig nu!
hur man hämtar CSS-egenskaper för ett element?
metoden getCssValue() används för att hämta CSS-egenskaper för alla webbelement
allmän Syntax:
driver. findElement(By.id getCssValue(”namn på CSS-attribut”);
exempel:
driver. findElement(By.id (”email”)). getCssValue (”font-size”);
Vad är pom (Page Object Model)?,
varje webbsida i programmet har en motsvarande sidklass som ansvarar för att lokalisera webbelementen och utföra åtgärder på dem. Sidobjektmodell är ett designmönster som hjälper till att skapa objektförråd för webbelementen. POM förbättrar kod återanvändbarhet och läsbarhet. Flera testfall kan köras på objektförvaret.
kan automatiseras?
Nej, selen kan inte automatisera ., Tja, hela konceptet är att se till att bots och automatiserade program inte får tillgång till känslig information – varför selen inte kan automatisera det. Automationstestingenjören måste manuellt skriva medan andra fält kan fyllas automatiskt.
Hur hanterar selen Windows-baserade popup-fönster?
selen har utformats för att hantera webbapplikationer. Windows-baserade funktioner stöds inte inbyggt av selen. Dock kan tredjepartsverktyg som AutoIT, Robot, etc integreras med selen för att hantera popup-fönster och andra Windows-baserade funktioner.,
Hur tar man skärmdumpar i WebDriver?
TakeScreenshot gränssnitt kan användas för att ta skärmdumpar i WebDriver.
getScreenshotAs () – metoden kan användas för att spara skärmdumpen
File scrFile = ((takescreenshot)driver).getScreenshotAs(outputType.
finns det ett sätt att skriva in en textruta utan att använda sendKeys()?
Ja! Text kan skrivas in i en textruta med JavaScriptExecutor
JavascriptExecutor JSE = (JavascriptExecutor) driver;
JSE.executeScript (”dokument.getElementById (”e-post”).,värde=”[email protected]”);
hur man väljer ett värde från en dropdown i selen WebDriver?
Välj klass i WebDriver används för att välja och avmarkera alternativ i en rullgardinsmeny.
objekten av vald typ kan initieras genom att skicka rullgardinswebelementet som en parameter till sin konstruktör.
webelement testDrop = driver. findElement(By.id (”testingDropdown”));
Välj dropdown = new Select (testDrop);
WebDriver erbjuder tre sätt att välja från en rullgardinsmeny:
selectByIndex: Selection based on index starting from 0
rullgardinsmenyn.,selectByIndex (5);
selectByValue: Selection based on value
rullgardinsmenyn.selectByValue (”böcker”);
selectByVisibleText: val av alternativ som visar text som matchar det angivna argumentet
rullgardinsmenyn.selectByVisibleText (”alkemisten”);
vad gör kommandot switchTo ()?
kommandot switchTo() används för att växla mellan fönster, ramar eller popup-fönster i programmet. Varje fönster som instansieras av WebDriver ges ett unikt alfanumeriskt värde som kallas ”fönsterhandtag”.,
hämta fönsterhandtaget i fönstret du vill byta till
String handle= driver.getWindowHandle ();
Växla till önskat fönster
drivrutin.switchTo().fönster (handtag);
alternativt
för(String handle= driver.getWindowHandles())
{ föraren.switchTo().fönster (handtag);}
Hur laddar man upp en fil i Selenium WebDriver?
Du kan uppnå detta genom att använda sendkeys() eller Robot klass metod. Leta reda på textrutan och ange sökvägen med sendkeys () och klicka på Skicka-knappen
leta reda på bläddringsknappen
webelement browse =driver.,findElement(By.id (”uploadfile”));
skicka sökvägen till filen som ska laddas upp med sendKeys-metoden
bläddra.sendKeys(”D:\\SeleniumInterview\\UploadFile.txt”);
Hur ställer du in webbläsarfönsterstorlek i selen?
fönsterstorleken kan maximeras, ställas in eller ändras
för att maximera fönstret
drivrutin.hantera().fönster().maximera();
för att ställa in fönsterstorleken
Dimension d = ny Dimension(400 600);
drivrutin.hantera().fönster().setSize (d);
alternativt,
fönsterstorleken kan återställas med JavaScriptExecutor
((JavascriptExecutor) driver).,executeScript (”fönster.resizeTo(1024, 768)”);
När använder vi findElement() och findElements()?
findElement() används för att komma åt ett enda element på webbsidan. Det returnerar objektet för det första matchande elementet i den angivna lokaliseraren.
allmän syntax:
WebElement element = driver. findElement(By.id (exempel));
findElements () används för att hitta alla element på den aktuella webbsidan som matchar det angivna lokaliseringsvärdet. Alla matchande element skulle hämtas och lagras i listan över webbelement.,
allmän syntax:
lista<WebElement > elementList = driver. findElements(By.id (exempel));
Vad är en paus på ett undantag i selen IDE?
användaren kan använda den här funktionen för att hantera undantag genom att klicka på pausikonen längst upp till höger på IDE. När scriptet hittar ett undantag pausar det vid det specifika uttalandet och går in i ett felsökningsläge. Hela testfallet misslyckas inte och därmed kan användaren åtgärda felet omedelbart.,
Hur loggar du in på en webbplats om den visar ett popup-fönster för autentisering för användarnamn och lösenord?
för att hantera popup-fönster för autentisering, verifiera dess utseende och hantera dem med ett uttryckligt väntekommando.
använd kommandot explicit wait
WebDriverWait wait = new WebDriverWait (driver, 10);
Alert class används för att verifiera varningen
Alert alert = wait.tills (Förväntadevillkor.alertIsPresent ());
När du har verifierat, ange autentiseringsuppgifterna
varning.,authenticateUsing (new UserAndPassword (<användarnamn>, <lösenord>);
vad är skillnaden mellan singel och dubbel snedstreck i Xpath?
enkel snedstreck används för att skapa Xpath med en absolut sökväg dvs XPath skulle skapas för att starta val från startnoden.
/html/body/div/div/div/a
Dubbel snedstreck används för att skapa Xpath med relativ sökväg dvs, XPath skulle skapas för att starta val från var som helst i dokumentet
//div / a
hur hittar du trasiga länkar i Selenium WebDriver?
När vi använder drivrutinen.get () metod för att navigera till en URL, det kommer att svara med en status på 200-OK
200 – OK anger att länken fungerar och det har erhållits. Om någon annan status erhålls är det en indikation på att länken är trasig.,
några av HTTP-statuskoderna är:
- 200-giltig länk
- 404 – länk hittades inte
- 400 – Dålig förfrågan
- 401 – obehörig
- 500 – Internt fel
som starter får du länkarna från webbprogrammet och får sedan individuellt sin status.
navigera till den intresserade webbsidan för t. ex. www.amazon.com
samla alla länkar från webbsidan. Alla länkar är associerade med taggen ’ a ’
lista<WebElement> links = driver.findElements (av.,tagName (”a”));
skapa en lista med typ WebElement för att lagra alla Länkelement i den.
För (int i=0; i < länkar.storlek(); i++) {
webelement element = länkar.få(jag);
String url=element.getAttribute (”href”);
verifyLink( url); }
Skapa nu en anslutning med URL-objekt (dvs. URL link = ny URL(urlLink);
Anslut med anslutningsmetod
HttpURLConnection httpConn =(HttpURLConnection)länk.openConnection ();
använd getResponseCode () för att få svarskod
if (httpConn.getResponseCode()!,= = 200)
genom undantag, om något fel uppstod
System.ut.println (”Broken Link”);
ditt nästa steg till framgång
Efter att ha gått igenom dessa Selenintervjufrågor skulle du ha förstått vilken typ av frågor som kan ställas och hur man svarar på dem.
Vi har en branschexpert som illustrerar vissa bitar av kod och förklarar hur man svarar på frågorna. Om du vill ge dig ut på din resa som test automationstekniker, så här är en certifieringskurs som kommer att vara till nytta. Kolla in Simplilearn s selen utbildning., Denna utbildning är utformad för att utbilda utvecklare och manuella testare för att lära sig att automatisera webbapplikationer med en robust ram, och integrera den inom DevOps processer i en organisation, och hjälpa dig behärska viktiga begrepp som TestNG, selen IDE, och selen Grid.