testen is een cruciale fase in de software development life cycle (SDLC). Handmatig testen, in het bijzonder, omvat de fysieke uitvoering van testgevallen tegen de toepassingen om bugs en fouten te detecteren. Echter, handmatig testen stelde veel uitdagingen, en een methode om het testproces te automatiseren was in de vraag. Als gevolg hiervan werd Selenium, een krachtige geautomatiseerde testtool, geïntroduceerd.,
Selenium is een open-source, geautomatiseerde testtool die wordt gebruikt om webtoepassingen te testen in verschillende browsers. Dus, hier is het trieste deel, Selenium kan alleen testen webapplicaties. Desktop-en mobiele apps kunnen niet worden getest met Selenium. Echter, andere tools, zoals HP ‘ s QTP en Appium, onder anderen, kunnen worden gebruikt om software en mobiele applicaties te testen.
onderscheiden van uw collega ‘ s dit Beoordelingsseizoen
begin met leren met onze gratis cursussen inschrijven
maar wat maakt Selenium de veelgebruikte testtool?, Hier zijn een paar redenen:
- Selenium is makkelijk te gebruiken omdat het hoofdzakelijk is ontwikkeld in JavaScript.
- Selenium kan webtoepassingen testen tegen browsers zoals Firefox, Opera, Chrome en Safari, om er maar een paar te noemen.
- de testcode kan worden geschreven in verschillende programmeertalen zoals Java, Perl, Python en PHP.
- Selenium is platformonafhankelijk en kan worden ingezet op verschillende besturingssystemen zoals Windows, Linux en Macintosh.
- Selenium kan worden geïntegreerd met tools van derden zoals JUnit en TestNG voor testbeheer.,
Als u klaar bent voor een Selenium interview, hier zijn de top 30 veelgestelde interview vragen.
beginnersniveau selenium Interview Questions
Wat zijn de Selenium suite componenten?
Selenium IDE
Het is een Firefox / Chrome plug-in die is ontwikkeld om het maken van automatiseringsscripts te versnellen. Het registreert de acties van de gebruiker op de webbrowser en exporteert ze als een herbruikbaar script.
Selenium Remote Control (RC)
RC is een server waarmee gebruikers applicatietests in verschillende programmeertalen kunnen schrijven., De commando ’s van het testscript worden geaccepteerd door deze server en worden naar de browser gestuurd als Selenium kern JavaScript commando’ s. De browser gedraagt zich dan dienovereenkomstig.
Selenium WebDriver
WebDriver is een programmeerinterface die helpt bij het maken en uitvoeren van testcases. Het voorziet in maatregelen op het web elementen. In tegenstelling tot RC, WebDriver vereist geen extra server en interageert native met de browser toepassingen.
Selenium Grid
Het grid is ontworpen om commando ‘ s gelijktijdig over verschillende machines te verdelen., Het maakt de parallelle uitvoering van tests op verschillende browsers en verschillende besturingssystemen. Het is uitzonderlijk flexibel en is geïntegreerd met andere suite-componenten voor gelijktijdige uitvoering.
wat zijn de beperkingen van het testen van seleen?
- onbeschikbaarheid van betrouwbare technische ondersteuning: aangezien Selenium een open-source tool is, heeft het geen speciale technische ondersteuning om de gebruikersvragen op te lossen.
- test alleen webtoepassingen: Selenium moet worden geïntegreerd met tools van derden zoals Appium en TestNG om desktop-en mobiele toepassingen te testen.,
- beperkte ondersteuning voor het testen van afbeeldingen.
- geen ingebouwde rapportage-en testbeheerfaciliteit: Selenium moet worden geïntegreerd met tools zoals TestNG of JUnit om testrapportage en-beheer te vergemakkelijken.
- kan de kennis van programmeertalen vereisen: Selenium WebDriver verwacht dat de gebruiker enige basiskennis over programmeren heeft.
welke testtypes worden door Selenium ondersteund?
Selenium ondersteunt regressietests en functionele tests.,
regressie testen-het is een volledige of gedeeltelijke selectie van reeds uitgevoerde testcases die opnieuw worden uitgevoerd om ervoor te zorgen dat bestaande functionaliteiten goed werken.
de betrokken stappen zijn –
- opnieuw testen: alle tests in de bestaande test suite worden uitgevoerd. Het blijkt erg duur en tijdrovend te zijn.
- Regressietestselectie: Tests worden geclassificeerd als functietests, integratietests en end-to-end-tests. In deze stap worden enkele tests geselecteerd.,prioritering van testcases: de geselecteerde testcases worden geprioriteerd op basis van bedrijfsimpact en kritieke functionaliteiten.
functionele tests-functionele tests omvatten de verificatie van elke functie van de toepassing met de vereiste specificatie.
de volgende stappen zijn hierbij betrokken:
- Identificeer testingang
- Bereken testuitkomst
- voer test
- vergelijk de testuitkomst met de werkelijke uitkomst
Wat is het verschil tussen seleen 2.0 en seleen 3.0?
seleen 2.,0 is een tool die de ontwikkeling van geautomatiseerde tests voor webapplicaties gemakkelijker maakt. Het vertegenwoordigt de fusie van het oorspronkelijke Selenium project met het WebDriver project. Selenium RC werd verouderd omdat de samenvoeging echter werd gebruikt voor achterwaartse compatibiliteit
Selenium 3.0 is de uitgebreide versie van Selenium 2.0. Het is inherent achterwaarts compatibel en heeft geen betrekking op Selenium RC. De nieuwe versie kwam samen met verschillende bugfixes en verhoogde stabiliteit.,
Wat is hetzelfde oorsprongbeleid en hoe wordt het behandeld?
hetzelfde Oorsprongbeleid is een functie die wordt gebruikt voor beveiligingsdoeleinden. Volgens dit beleid staat een webbrowser scripts van de ene webpagina toe om toegang te krijgen tot de inhoud van een andere webpagina, mits beide pagina ‘ s dezelfde oorsprong hebben. De oorsprong verwijst naar een combinatie van het URL-schema, hostnaam en poortnummer.
hetzelfde Origin beleid voorkomt dat een kwaadaardig script op de ene pagina toegang krijgt tot gevoelige gegevens op een andere webpagina.,
beschouw een JavaScript-programma dat wordt gebruikt door google.com. deze testapplicatie heeft toegang tot alle Google-domeinpagina ‘ s, zoals google.com/login, google.com/mail, enz. Echter, het kan geen toegang tot pagina ‘ s van andere domeinen zoals yahoo.com
Selenium RC werd geïntroduceerd om dit aan te pakken. De server fungeert als een client geconfigureerde HTTP-proxy en “trucs” de browser te laten geloven dat Selenium kern en de webapplicatie wordt getest komen uit dezelfde oorsprong.,
Full Stack Java Developer Course
The Gateway to Master Web DevelopmentExplore Course
Wat is Selenese? Hoe is het geheim?
Selenese is de set van Selenium commando ‘ s die worden gebruikt om uw web applicatie te testen. De tester kan testen de gebroken links, het bestaan van een object op de UI, Ajax functionaliteit, waarschuwingen, venster, Lijst opties, en nog veel meer met behulp van Selenese.,
actie: opdrachten die direct interageren met de toepassing
Accessors: Sta de gebruiker toe bepaalde waarden op te slaan in een door de gebruiker gedefinieerde variabele
beweringen: verifieert de huidige status van de toepassing met een verwachte status
vermeld de typen weblocators.
Locator is een commando dat Selenium IDE vertelt op welke GUI-elementen ( tekstvak, knoppen, selectievakjes, enz.) Het moet werken. Locators geven het actiegebied aan.,
Locator door ID: het neemt een string parameter die een waarde van het id attribuut dat de object naar findElement() methode retourneert.
driver.findElement(By.id (“user”));
Locator door de link: als uw doelelement een linktekst is, kunt u de by gebruiken.linkText locator om dat element te lokaliseren.
stuurprogramma.findElement (door.linkText (“deals van vandaag”).click ();
Locator door gedeeltelijke koppeling: de doelkoppeling kan worden gelokaliseerd met behulp van een gedeelte van de tekst in een link tekst element.
stuurprogramma.findElement (door.linkText (“Service”)).,click ();
Locator op naam: het eerste element met de naam attribuut waarde die overeenkomt met de locatie zal worden geretourneerd.
driver.findElement(By.name (“books”). click ());
Locator by TagName: zoekt alle elementen met de overeenkomende tagnaam
driver.findElement (door.tagName (“button”).click ());
Locator op klassennaam: dit vindt elementen gebaseerd op de waarde van het CLASS attribuut. Als een element veel klassen heeft dan zal dit tegen elk van hen overeenkomen.
stuurprogramma.findElement (door.,className (“inputtext”));
Locator door XPath: het neemt een parameter van String die een XPATHEXPRESSION is en het retourneert een object naar findElement () methode.
stuurprogramma.findElement (door.xpath (“//span”)).getText();
Locator by CSS Selector: lokaliseert elementen gebaseerd op de onderliggende CSS selector engine van het stuurprogramma.
driver. findElement (By.cssSelector (“input#email”)). sendKeys (“[email protected]”);
welke wachttypes worden door WebDriver ondersteund?,
impliciet wachten – impliciete wachtcommando ‘ s Selenium om een bepaalde tijd te wachten voordat een “no such element” – uitzondering wordt gegeven.
stuurprogramma.beheren().timeout().implicitlyWait (TimeOut, TimeUnit.Seconden);
Explicit wait – Explicit wait wordt gebruikt om de Web Driver te vertellen om te wachten op bepaalde voorwaarden voordat het gooien van een “ElementNotVisibleException” uitzondering.,
WebDriverWait wait = new WebDriverWait (Webdriver Reference, TimeOut);
vloeiend wachten – het wordt gebruikt om de WebDriver te vertellen te wachten op een voorwaarde, evenals de frequentie waarmee we de voorwaarde willen controleren voordat we een “ElementNotVisibleException” uitzondering gooien.
vermeld de typen navigatiecommando ‘ s
driver.navigeer().to(“https://www.ebay.in/”); – navigeert naar het opgegeven URL-adres
driver.navigeren().refresh (); – deze methode ververst de huidige pagina
driver.navigeren().,forward (); – deze methode doet dezelfde handeling als het klikken op de Forward knop van een browser. Het accepteert noch retourneert iets.
stuurprogramma.navigeren().terug (); – deze methode doet dezelfde handeling als het klikken op de knop terug van een browser. Het accepteert noch retourneert iets.
Wat is het belangrijkste verschil tussen driver.sluiten () en bestuurder.quit()?
stuurprogramma.close ()
Dit commando sluit het huidige venster van de browser. Als er meerdere vensters geopend zijn, wordt het huidige scherpstellingsvenster gesloten.
stuurprogramma.,quit ()
wanneer quit () wordt aangeroepen op het stuurprogramma en er één of meer browservensters geopend zijn, worden alle geopende browservensters gesloten.
Intermediate Level Selenium Interview Questions
hoe typ je tekst in een invoerveld met Selenium?
sendKeys () is de methode die wordt gebruikt om tekst in invoervakken te typen
overweeg het volgende voorbeeld –
webelement email = driver. findElement(By.id (“email”)); – vindt de” email”tekst met behulp van de ID locator
email.sendKeys (“[email protected]”); – voert tekst in in het URL-veld
webelement password = driver.,findElement(By.id (“Password”)); – vindt de” password ” tekst met behulp van de ID locator
wachtwoord.sendKeys (“abcdefgh123”); – voert tekst in in het wachtwoordveld
hoe klik je op een hyperlink in Selenium?
stuurprogramma.findElement (door.linkText (“deals van vandaag”).click ();
het commando vindt het element met behulp van link tekst en klikt vervolgens op dat element, waar na de gebruiker zou worden doorgestuurd naar de overeenkomstige pagina.
stuurprogramma.findElement (door.partialLinkText (“Service”)).,click ();
het bovenstaande commando vindt het element gebaseerd op de substring van de link tussen haakjes en dus vindt partialLinkText () het web element.
hoe een pagina omlaag scrollen met JavaScript?
scrollBy() methode wordt gebruikt om naar beneden te scrollen op de webpagina
algemene syntaxis:
executeScript(“window.scrollBy (x-pixels,y-pixels)”);
maak eerst een JavaScript-object
JavascriptExecutor js = (JavascriptExecutor) driver;
start de gewenste toepassing
driver.,get (“https://www.amazon.com”);
Scroll naar beneden naar de gewenste locatie
js.uitvoerscript (“venster.scrollBy (0,1000)”);
het venster wordt niet verticaal geschoven met 1000 pixels
hoe de titel van een webpagina te bevestigen?
haal de titel van de webpagina en sla op in een variabele
String actualTitle = driver.getTitle ();
Typ de verwachte titel
String expectedTitle = “abcdefgh”;
Controleer of beide gelijk zijn
if(actualTitle.equalsIgnoreCase (expectedTitle))
systeem.uit.println (“title Matched”);
else
systeem.uit.,println (“Title didn ‘ t match”);
alternatief is
Assert.assertEquals (actualTitle, expectedTitle);
hoe muisaanwijzer over een web-element?
Actions class utility wordt gebruikt om over een web element in Selenium WebDriver
Actions class te zweven.
acties actie = nieuwe acties(driver);
In dit scenario gaan we met de muisaanwijzer over het zoekvak van een website
acties.moveToElement (driver. findElement(By.id (“id van de zoekbox”))).,perform ();
meester belangrijke testconcepten zoals TestNG, Selenium IDE, Selenium Grid, Selenium WebDriver. Bekijk Selenium certificeringstraining. Schrijf je nu in!
hoe CSS-eigenschappen van een element ophalen?
getCssValue() methode wordt gebruikt om CSS eigenschappen van elk web element op te halen
algemene syntaxis:
driver. findElement(By.id (“id”)). getCssValue (“name of css attribuut”);
voorbeeld:
driver.findElement (By.id (“email”)). getCssValue (“font-size”);
Wat is POM (Page Object Model)?,
elke webpagina van de toepassing heeft een overeenkomstige paginaklasse die verantwoordelijk is voor het lokaliseren van de webelementen en het uitvoeren van acties erop. Page Object Model is een ontwerppatroon dat helpt bij het maken van object repositories voor de web-elementen. POM verbetert de herbruikbaarheid en leesbaarheid van de code. Meerdere testcases kunnen worden uitgevoerd op de object repository.
kan geautomatiseerd worden?
Nee, Selenium kan niet automatiseren ., Goed, het hele concept van is om ervoor te zorgen dat bots en geautomatiseerde programma ‘ s geen toegang tot gevoelige informatie – dat is de reden waarom, Selenium kan niet automatiseren. De automation test engineer moet handmatig typen terwijl andere velden automatisch kunnen worden ingevuld.
Hoe behandelt Selenium Windows-gebaseerde pop-ups?
Selenium is ontworpen voor webtoepassingen. Windows-gebaseerde functies worden niet native ondersteund door Selenium. Echter, third-party tools zoals AutoIT, Robot, etc kan worden geà ntegreerd met Selenium om pop-ups en andere Windows-gebaseerde functies te behandelen.,
hoe schermafbeeldingen maken in WebDriver?
TakeScreenshot interface kan worden gebruikt om screenshots te maken in WebDriver.
getScreenshotAs () methode kan worden gebruikt om de screenshot
bestand scrFile = ((TakeScreenshot)driver) op te slaan.getScreenshotAs (outputType.FILE);
Advanced Level Selenium Interview Questions
Is er een manier om een tekstvak in te typen zonder sendKeys () te gebruiken?
Ja! Tekst kan worden ingevoerd in een tekstvak met behulp van JavaScriptExecutor
JavascriptExecutor jse = (JavascriptExecutor) driver;
jse.executeScript (“document.getElementById (‘email’).,waarde=”[email protected]”);
hoe selecteer ik een waarde uit een dropdown in Selenium WebDriver?
Select class in WebDriver wordt gebruikt voor het selecteren en deselecteren van opties in een dropdown.
de objecten van het Select type kunnen geïnitialiseerd worden door het dropdown webElement als parameter door te geven aan de constructor.
WebElement testDrop = driver. findElement(By.id (“testingDropdown”));
Select dropdown = new Select (testDrop);
WebDriver biedt drie manieren om te selecteren uit een dropdown:
selectByIndex: selectie gebaseerd op index vanaf 0
dropdown.,selectByIndex (5);
selectByValue: selectie gebaseerd op waarde
dropdown.selectByValue (“Books”);
selectByVisibleText: selectie van optie die tekst weergeeft die overeenkomt met het gegeven argument
dropdown.selectByVisibleText(“The Alchemist”);
wat doet het switchto() Commando?
switchTo () commando wordt gebruikt om te schakelen tussen vensters, frames of pop-ups binnen de toepassing. Elk venster dat door de WebDriver wordt geactiveerd, krijgt een unieke alfanumerieke waarde genaamd “Window Handle”.,
haal de vensterhendel van het venster dat u wilt overschakelen naar
String handle= driver.getWindowHandle ();
Schakel naar het gewenste venster
driver.switchTo().window (handle);
alternatief
voor(String handle= driver.getWindowHandles ())
{ driver.switchTo().window (handle); }
hoe upload ik een bestand in Selenium WebDriver?
u kunt dit bereiken met behulp van SendKeys() of Robot class methode. Zoek het tekstvak en stel het bestandspad in met behulp van sendkeys () en klik op de knop Verzenden
Zoek de knop Bladeren
WebElement browse =driver.,findElement(By.id (“uploadfile”));
geef het pad van het te uploaden bestand door met behulp van SendKeys methode
bladeren.sendKeys(“D:\\SeleniumInterview\\UploadFile.txt”);
hoe de venstergrootte van de browser in Selenium instellen?
de venstergrootte kan worden gemaximaliseerd, ingesteld of verkleind
om het venster
stuurprogramma te maximaliseren.beheren().window().maximaliseer ();
om de venstergrootte in te stellen
dimensie d = nieuwe dimensie (400.600);
driver.beheren().window().setSize (d);
als alternatief kan
de venstergrootte worden gereset met JavaScriptExecutor
(stuurprogramma JavascriptExecutor).,uitvoerscript (“venster.resizeTo(1024, 768)”);
wanneer gebruiken we findElement () en findElements()?
findElement () wordt gebruikt om toegang te krijgen tot elk element op de webpagina. Het geeft het object van het eerste overeenkomende element van de opgegeven locator terug.gebruik:
WebElement element = driver.findElement(By.id (voorbeeld));
findElements () wordt gebruikt om alle elementen in de huidige webpagina te vinden die overeenkomen met de opgegeven locatorwaarde. Alle overeenkomende elementen zouden worden opgehaald en opgeslagen in de lijst met webelementen.,gebruik:
List <WebElement> elementList = driver.findElements(By.id (voorbeeld));
Wat is een pauze op een uitzondering in Selenium IDE?
De gebruiker kan deze functie gebruiken om uitzonderingen af te handelen door te klikken op het pictogram pauze in de rechterbovenhoek van de IDE. Wanneer het script een uitzondering vindt, pauzeert het op dat specifieke statement en gaat een debug mode in. De hele testcase niet mislukken en dus de gebruiker kan de fout onmiddellijk te herstellen.,
hoe in te loggen op een site als er een authenticatie Pop-Up voor gebruikersnaam en wachtwoord wordt getoond?
om authenticatie pop-ups af te handelen, controleert u het uiterlijk en behandelt u ze met behulp van een expliciet wacht Commando.
gebruik het expliciete wait Commando
WebDriverWait wait = new WebDriverWait (driver, 10);
Alert class wordt gebruikt om de alert
Alert alert = wait te verifiëren.tot(verwachte omstandigheden.alertIsPresent ());
geef na verificatie de referenties
alert.,authenticateUsing (new user Andpassword (<gebruikersnaam>, <wachtwoord>));
Wat is het verschil tussen enkele en dubbele slash in Xpath?
Single slash wordt gebruikt om Xpath met een absoluut pad aan te maken, dat wil zeggen dat de XPath wordt gemaakt om de selectie te starten vanaf het startknooppunt.
/html/body/div/div/div/a
Dubbele slash wordt gebruikt om Xpath met relatief pad te maken, d.w.z., de XPath zou worden aangemaakt om de selectie te starten vanaf een willekeurige plek in het document
//div/a
Hoe vind je gebroken links in Selenium WebDriver?
wanneer we driver gebruiken.get() methode om naar een URL te navigeren, zal het reageren met een status van 200-OK
200 – OK geeft aan dat de link werkt en het is verkregen. Als een andere status wordt verkregen, dan is het een indicatie dat de link is verbroken.,
enkele van de HTTP – statuscodes zijn:
- 200-geldige Link
- 404-Link niet gevonden
- 400-Ongeldige aanvraag
- 401 – niet – geautoriseerde
- 500-Interne fout
als starter, Verkrijg de links van de webtoepassing en krijg vervolgens afzonderlijk hun status.
Navigeer naar de geà nteresseerde webpagina voor bijv. www.amazon.com
Verzamel alle links van de webpagina. Alle koppelingen zijn gekoppeld aan de Tag ‘a’
List<WebElement> links = driver.findElements (door.,tagName(“a”);
Maak een lijst met type WebElement om alle Link-elementen erin op te slaan.
voor (int i=0; i<links.size(); i++) {
WebElement element = links.get (i);
String url=element.getAttribute (“href”);
verifyLink(url);}
Maak nu een verbinding met behulp van URL-object( d.w.z., link)
URL link = new URL (urlLink);
verbinden met behulp van Connect Method
HttpURLConnection httpconn =(HttpURLConnection) link.openConnection();
gebruik getResponseCode () om antwoordcode
if(httpconn.getResponseCode()!,= = 200)
Door uitzondering, indien er een fout is opgetreden
systeem.uit.println (“Broken Link”);
uw volgende stap naar succes
na het doorlopen van deze selenium interview vragen, zou u hebben begrepen, wat voor soort vragen kunnen worden gesteld en hoe ze te beantwoorden.
we hebben een expert uit de industrie die bepaalde stukjes code illustreert terwijl hij uitlegt hoe de vragen te beantwoorden. Als u wilt beginnen aan uw reis als een test automation engineer, dan is hier een certificering cursus die van pas zal komen. Bekijk Simplilearn ‘ s Selenium training., Deze training is ontworpen om ontwikkelaars en handmatige testers te trainen om te leren hoe u webapplicaties kunt automatiseren met een robuust kader, en deze te integreren in de DevOps-processen van een organisatie, en u te helpen belangrijke concepten zoals TestNG, Selenium IDE en Selenium Grid onder de knie te krijgen.