50 most popularly asked selenium interview questions
In diesem Tutorial haben wir die Top aufgelistet 50 am häufigsten gestellte Fragen zum Selenium-Interview, einschließlich Selenium IDE-, Selenium RC-, Selenium Grid- und Selenium WebDriver-Interviewfragen.
Ein kurzer Hinweis zu dieser Selenium-Artikelserie, bevor wir zu diesem Tutorial übergehen:
Dies ist das letzte Tutorial in unserer Selenium-Online-Schulungsreihe mit mehr als 30 umfassenden Tutorials. Ich hoffe, euch hat diese Tutorials gefallen und ihr habt angefangen, daraus zu lernen. Wenn Sie neu hier sind, gehen Sie bitte zu Dieses allererste Tutorial in dieser Trainingsreihe.
******************
Schauen Sie sich auch diese “ Der beste Online-Selen-Schulungskurs „Selenium-Automatisierungstool von einem Experten mit mehr als 10 Jahren Erfahrung in der Selenium-Automatisierung zu lernen.
******************
Top 50 Fragen und Antworten zum Selenium-Interview
Auf geht's.
F # 1) Was ist Automatisierungstest?
Automatisierungstests oder Testautomatisierung ist ein Prozess zur Automatisierung des manuellen Prozesses zum Testen der zu testenden Anwendung / des zu testenden Systems. Beim Automatisierungstest wird ein separates Testtool verwendet, mit dem Sie Testskripte erstellen können, die wiederholt ausgeführt werden können und keine manuellen Eingriffe erfordern.
F # 2) Was sind die Vorteile von Automatisierungstests?
Vorteile von Automatisierungstests sind:
- Unterstützt die Ausführung wiederholter Testfälle
- Hilft beim Testen einer großen Testmatrix
- Aktiviert die parallele Ausführung
- Ermutigt zur unbeaufsichtigten Ausführung
- Verbessert die Genauigkeit und reduziert dadurch vom Menschen verursachte Fehler
- Spart Zeit und Geld
F # 3) Warum sollte Selen als Testwerkzeug ausgewählt werden?
Selen
- ist eine kostenlose und Open Source
- haben eine große Nutzerbasis und helfen Communities
- Browserübergreifende Kompatibilität (Firefox, Chrome, Internet Explorer, Safari usw.)
- haben eine großartige Plattformkompatibilität (Windows, Mac OS, Linux usw.)
- unterstützt mehrere Programmiersprachen (Java, C #, Ruby, Python, Pearl usw.)
- hat frische und regelmäßige Repository-Entwicklungen
- unterstützt verteilte Tests
F # 4) Was ist Selen? Was sind die verschiedenen Selenkomponenten?
Selen ist eine der beliebtesten automatisierten Testsuiten. Selen wurde entwickelt, um Automatisierungstests von Funktionsaspekten webbasierter Anwendungen und einer Vielzahl von Browsern und Plattformen zu unterstützen und zu fördern. Aufgrund seiner Existenz in der Open Source-Community hat es sich zu einem der am meisten akzeptierten Tools unter den Testprofis entwickelt.
Erstellen Sie eine Kopie eines Arrays
Selen ist nicht nur ein einzelnes Tool oder ein Dienstprogramm, sondern ein Paket aus mehreren Testtools. Aus demselben Grund wird es als Suite bezeichnet. Jedes dieser Tools wurde entwickelt, um unterschiedliche Anforderungen an Tests und Testumgebungen zu erfüllen.
Das Suite-Paket umfasst die folgenden Tools:
- Integrierte Entwicklungsumgebung für Selen (IDE) - Selenium IDE ist ein Aufnahme- und Wiedergabewerkzeug. Es wird als Firefox-Plugin vertrieben.
- Selen Fernbedienung (RC) - Selenium RC ist ein Server, mit dem ein Benutzer Testskripte in der gewünschten Programmiersprache erstellen kann. Es ermöglicht auch die Ausführung von Testskripten innerhalb des großen Spektrums von Browsern.
- Selenium WebDriver - WebDriver ist ein völlig anderes Tool, das gegenüber Selenium RC verschiedene Vorteile bietet. WebDriver kommuniziert direkt mit dem Webbrowser und nutzt seine native Kompatibilität zur Automatisierung.
- Selengitter - Selenium Grid wird verwendet, um Ihre Testausführung gleichzeitig auf mehreren Plattformen und Umgebungen zu verteilen.
F # 5) Welche Testtypen können von Selen unterstützt werden?
Selen unterstützt die folgenden Testarten:
- Funktionsprüfung
- Regressionstests
F # 6) Was sind die Einschränkungen von Selen?
Im Folgenden sind die Einschränkungen von Selen aufgeführt:
- Selen unterstützt das Testen nur von webbasierten Anwendungen
- Mobile Anwendungen können nicht mit Selen getestet werden
- Captcha- und Barcode-Lesegeräte können nicht mit Selen getestet werden
- Berichte können nur mit Tools von Drittanbietern wie TestNG oder JUnit erstellt werden.
- Da Selenium ein kostenloses Tool ist, gibt es keinen sofort verfügbaren Anbietersupport, da der Benutzer zahlreiche helfende Communities finden kann.
- Es wird erwartet, dass der Benutzer über Vorkenntnisse in Programmiersprachen verfügt.
Q # 7) Was ist der Unterschied zwischen Selenium IDE, Selenium RC und WebDriver?
Merkmal | Selen IDE | Selen RC | WebDriver |
---|---|---|---|
Umgang mit Warnungen, Navigationen, Dropdowns | Selenium IDE bietet keine expliziten Hilfsmittel für Warnungen, Navigationen und Dropdowns | Selenium RC bietet keine expliziten Hilfsmittel für Warnungen, Navigationen und Dropdowns. | WebDriver bietet eine breite Palette von Dienstprogrammen und Klassen, mit denen Warnungen, Navigationen und Dropdowns effizient und effektiv verarbeitet werden können. |
Browser-Kompatibilität | Selenium IDE wird als Firefox-Plugin geliefert und unterstützt daher nur Firefox | Selenium RC unterstützt eine Vielzahl von Versionen von Mozilla Firefox, Google Chrome, Internet Explorer und Opera. | WebDriver unterstützt eine Vielzahl von Versionen von Mozilla Firefox, Google Chrome, Internet Explorer und Opera. Unterstützt auch HtmlUnitDriver, einen Browser ohne GUI oder ohne Kopf. |
Aufnahme und Wiedergabe | Selenium IDE unterstützt die Aufnahme- und Wiedergabefunktion | Selenium RC unterstützt keine Aufnahme- und Wiedergabefunktion. | WebDriver unterstützt keine Aufnahme- und Wiedergabefunktion |
Serveranforderung | Für die Selenium-IDE muss kein Server gestartet werden, bevor die Testskripte ausgeführt werden | Für Selenium RC muss der Server gestartet werden, bevor die Testskripte ausgeführt werden. | Für WebDriver muss kein Server gestartet werden, bevor die Testskripte ausgeführt werden |
Die Architektur | Selenium IDE ist ein Javascript-basiertes Framework | Selenium RC ist ein JavaScript-basiertes Framework. | WebDriver nutzt die native Kompatibilität des Browsers mit der Automatisierung |
Objektorientierter | Selenium IDE ist kein objektorientiertes Werkzeug | Selenium RC ist ein halbobjektorientiertes Werkzeug. | WebDriver ist ein rein objektorientiertes Tool |
Dynamische Finder (zum Auffinden von Webelementen auf einer Webseite) | Selenium IDE unterstützt keine dynamischen Finder | Selenium RC unterstützt keine dynamischen Sucher. | WebDriver unterstützt dynamische Finder |
WAP-Tests (iPhone / Android) | Selenium IDE unterstützt das Testen von iPhone / Andriod-Anwendungen nicht | Selenium RC unterstützt das Testen von iPhone / Android-Anwendungen nicht. | WebDriver wurde entwickelt, um das Testen von iPhone / Android-Anwendungen effizient zu unterstützen. Das Tool enthält eine große Auswahl an Treibern für WAP-basierte Tests. Zum Beispiel AndroidDriver, iPhoneDriver |
Listener-Unterstützung | Selenium IDE unterstützt keine Listener | Selenium RC unterstützt keine Hörer. | WebDriver unterstützt die Implementierung von Listenern |
Geschwindigkeit | Selenium IDE ist schnell, da es mit dem Webbrowser verbunden ist, der den Test startet. Somit kommunizieren die IDE und der Browser direkt | Selenium RC ist langsamer als WebDriver, da es nicht direkt mit dem Browser kommuniziert. Vielmehr sendet es selenische Befehle an Selenium Core, der wiederum mit dem Browser kommuniziert. | WebDriver kommuniziert direkt mit den Webbrowsern. Dadurch wird es viel schneller. |
F # 8) Wann sollte ich Selenium IDE verwenden?
Selenium IDE ist das einfachste und einfachste aller Tools im Selenium-Paket. Die Aufnahme- und Wiedergabefunktion macht es außergewöhnlich einfach, mit minimalen Kenntnissen einer Programmiersprache zu lernen. Selenium IDE ist ein ideales Werkzeug für einen naiven Benutzer.
F # 9) Was ist Selen?
Selenese ist die Sprache, in der Testskripte in Selenium IDE geschrieben werden.
Q # 10) Was sind die verschiedenen Arten von Ortungsgeräten in Selen?
Der Locator kann als Adresse bezeichnet werden, die ein Webelement innerhalb der Webseite eindeutig identifiziert. Um Webelemente genau und genau zu identifizieren, haben wir sie verschiedene Arten von Ortungsgeräten in Selen ::
- ICH WÜRDE
- Klassenname
- Name
- Verlinke den Namen
- Link Text
- PartialLinkText
- Xpath
- CSS-Auswahl
- BEURTEILUNG
Q # 11) Was ist der Unterschied zwischen Assert- und Verify-Befehlen?
Behaupten: Der Befehl Assert prüft, ob die angegebene Bedingung wahr oder falsch ist. Nehmen wir an, wir behaupten, ob das angegebene Element auf der Webseite vorhanden ist oder nicht. Wenn die Bedingung wahr ist, führt die Programmsteuerung den nächsten Testschritt aus. Wenn die Bedingung jedoch falsch ist, wird die Ausführung gestoppt und es wird kein weiterer Test ausgeführt.
Überprüfen: Der Befehl Überprüfen überprüft auch, ob die angegebene Bedingung wahr oder falsch ist. Unabhängig davon, ob die Bedingung wahr oder falsch ist, wird die Programmausführung nicht angehalten, d. H. Ein Fehler während der Überprüfung würde die Ausführung nicht stoppen und alle Testschritte würden ausgeführt.
F # 12) Was ist ein XPath?
XPath wird verwendet, um ein Webelement basierend auf seinem XML-Pfad zu finden. XML steht für Extensible Markup Language und wird zum Speichern, Organisieren und Transportieren beliebiger Daten verwendet. Es speichert Daten in einem Schlüssel-Wert-Paar, das HTML-Tags sehr ähnlich ist. XPath ist eine Markup-Sprache und kann zum Auffinden von HTML-Elementen verwendet werden, da sie unter demselben Dach zusammengefasst sind.
Das Grundlegende beim Auffinden von Elementen mithilfe von XPath ist das Durchlaufen verschiedener Elemente auf der gesamten Seite, sodass ein Benutzer ein Element mit der Referenz eines anderen Elements finden kann.
F # 13) Was ist der Unterschied zwischen '/' und '//' in Xpath?
Single Slash '/' - Ein einzelner Schrägstrich wird verwendet, um einen X-Pfad mit einem absoluten Pfad zu erstellen, d. H. Der X-Pfad wird erstellt, um die Auswahl vom Dokumentknoten / Startknoten aus zu starten.
Doppelter Schrägstrich '//' - Ein doppelter Schrägstrich wird verwendet, um einen X-Pfad mit einem relativen Pfad zu erstellen, d. H. Der X-Pfad wird erstellt, um die Auswahl an einer beliebigen Stelle im Dokument zu starten.
F # 14) Was ist die Richtlinie für denselben Ursprung und wie kann damit umgegangen werden?
Das Problem derselben Ursprungsrichtlinie verbietet den Zugriff auf das DOM eines Dokuments von einem Ursprung aus, der sich von dem Ursprung unterscheidet, auf den wir versuchen, auf das Dokument zuzugreifen.
Origin ist eine sequentielle Kombination aus Schema, Host und Port der URL. Für eine URL https://www.softwaretestinghelp.com/resources/ ist der Ursprung beispielsweise eine Kombination aus http, softwaretestinghelp.com, 80 entsprechend.
Daher kann der Selenium Core (JavaScript-Programm) nicht von einem Ursprung auf die Elemente zugreifen, der sich von dem Ort unterscheidet, an dem er gestartet wurde. Wenn ich beispielsweise das JavaScript-Programm über 'https://www.softwaretestinghelp.com' gestartet habe, kann ich auf Seiten innerhalb derselben Domain wie 'https://www.softwaretestinghelp.com/resources' zugreifen 'Oder' https://www.softwaretestinghelp.com/istqb-free-updates/ '. Die anderen Domains wie google.com, seleniumhq.org wären nicht mehr zugänglich.
Um die gleiche Ursprungsrichtlinie zu handhaben, wurde Selenium Remote Control eingeführt.
Q # 15) Wann sollte ich Selenium Grid verwenden?
Selenium Grid kann verwendet werden, um dieselben oder unterschiedliche Testskripte auf mehreren Plattformen und Browsern gleichzeitig auszuführen, um eine verteilte Testausführung zu erreichen, Tests unter verschiedenen Umgebungen durchzuführen und Ausführungszeit erheblich zu sparen.
F # 16) Was meinen wir mit Selen 1 und Selen 2?
Selenium RC und WebDriver werden in einer Kombination im Volksmund als Selenium 2 bezeichnet. Selenium RC allein wird auch als Selenium 1 bezeichnet.
F # 17) Welches ist das neueste Selenium-Tool?
WebDriver
F # 18) Wie starte ich den Browser mit WebDriver?
Die folgende Syntax kann zum Starten des Browsers verwendet werden:
WebDriver-Treiber = Neu FirefoxDriver ();
WebDriver-Treiber = Neu ChromeDriver ();
WebDriver-Treiber = Neu InternetExplorerDriver ();
F # 19) Welche verschiedenen Treibertypen sind in WebDriver verfügbar?
Die verschiedenen in WebDriver verfügbaren Treiber sind:
- FirefoxDriver
- InternetExplorerDriver
- ChromeDriver
- SafariDriver
- OperaDriver
- AndroidDriver
- IPhoneDriver
- HtmlUnitDriver
F # 20) Welche verschiedenen Arten von Wartezeiten sind in WebDriver verfügbar?
Es gibt zwei In WebDriver verfügbare Arten von Wartezeiten ::
- Implizites Warten
- Explizites Warten
Implizites Warten: Implizite Wartezeiten werden verwendet, um eine Standardwartezeit (z. B. 30 Sekunden) zwischen jedem aufeinanderfolgenden Testschritt / Befehl im gesamten Testskript bereitzustellen. Somit würde der nachfolgende Testschritt nur ausgeführt, wenn die 30 Sekunden nach dem Ausführen des vorherigen Testschritts / Befehls vergangen sind.
Explizites Warten: Explizite Wartezeiten werden verwendet, um die Ausführung anzuhalten, bis eine bestimmte Bedingung erfüllt ist oder die maximale Zeit abgelaufen ist. Im Gegensatz zu impliziten Wartezeiten werden explizite Wartezeiten nur für eine bestimmte Instanz angewendet.
Q # 21) Wie tippe ich ein Textfeld mit Selen ein?
Der Benutzer kann sendKeys ('einzugebende Zeichenfolge') verwenden, um die Zeichenfolge in das Textfeld einzugeben.
Syntax:
WebElement Benutzername = drv .findElement (By.id ( 'Email' ));
// Benutzername eingeben
username.sendKeys ( 'Etw' );
Q # 22) Wie können Sie feststellen, ob ein Element auf dem Bildschirm angezeigt wird?
WebDriver erleichtert dem Benutzer die folgenden Methoden, um die Sichtbarkeit der Webelemente zu überprüfen. Diese Webelemente können Schaltflächen, Dropboxen, Kontrollkästchen, Optionsfelder, Beschriftungen usw. sein.
- wird angezeigt()
- ist ausgewählt()
- aktiviert()
Syntax:
wird angezeigt():
Boolescher Wert buttonPresence = driver.findElement (By.id ( 'Glauben' )).wird angezeigt();
ist ausgewählt():
Boolescher Wert buttonSelected = driver.findElement (By.id ( 'Glauben' )).ist ausgewählt();
aktiviert():
Boolescher Wert searchIconEnabled = driver.findElement (By.id ( 'Gbqfb' )).aktiviert();
Q # 23) Wie können wir einen Text eines Webelements erhalten?
Mit dem Befehl Get wird der innere Text des angegebenen Webelements abgerufen. Der Befehl benötigt keinen Parameter, gibt jedoch einen Zeichenfolgenwert zurück. Es ist auch einer der häufig verwendeten Befehle zur Überprüfung von Nachrichten, Beschriftungen, Fehlern usw., die auf den Webseiten angezeigt werden.
Syntax:
String Text = driver.findElement (By.id ('Text')). GetText ();
F # 24) Wie wähle ich einen Wert in einer Dropdown-Liste aus?
Der Wert in der Dropdown-Liste kann mithilfe der Select-Klasse von WebDriver ausgewählt werden.
Syntax:
selectByValue:
Wählen Sie selectByValue = Neu Wählen( Treiber .findElement (By.id ( 'SelectID_One' )));
selectByValue.selectByValue ( 'Grünwert' );
selectByVisibleText:
Wählen Sie selectByVisibleText = Neu Wählen ( Treiber .findElement (By.id ( 'SelectID_Two' )));
selectByVisibleText.selectByVisibleText ( 'Limette' );
selectByIndex:
Wählen Sie selectByIndex = Neu Wählen( Treiber .findElement (By.id ( 'SelectID_Three' )));
selectByIndex.selectByIndex (2);
F # 25) Was sind die verschiedenen Arten von Navigationsbefehlen?
Es folgen die Navigationsbefehle ::
navigieren (). zurück () - Der obige Befehl erfordert keine Parameter und führt den Benutzer zur vorherigen Webseite im Verlauf des Webbrowsers zurück.
Beispielcode:
driver.navigate (). back ();
navigieren (). vorwärts () - Mit diesem Befehl kann der Benutzer mit Bezug auf den Browserverlauf zur nächsten Webseite navigieren.
Beispielcode:
driver.navigate (). forward ();
navigieren (). aktualisieren () - Mit diesem Befehl kann der Benutzer die aktuelle Webseite dort aktualisieren, indem alle Webelemente neu geladen werden.
Beispielcode:
driver.navigate (). refresh ();
navigiere (). zu () - Mit diesem Befehl kann der Benutzer ein neues Webbrowser-Fenster öffnen und zur angegebenen URL navigieren.
Beispielcode:
driver.navigate (). to ('https://google.com');
F # 26) Wie klicke ich mit linkText auf einen Hyperlink?
wie man einem Array Werte hinzufügt
Treiber .findElement (By.linkText ( 'Google' )).klicken();
Der Befehl findet das Element mithilfe von Linktext und klickt dann auf dieses Element. Der Benutzer wird dann auf die entsprechende Seite weitergeleitet.
Auf den oben genannten Link kann auch mit dem folgenden Befehl zugegriffen werden.
Treiber .findElement (By.partialLinkText ( 'Schmiere' )).klicken();
Der obige Befehl findet das Element basierend auf der Teilzeichenfolge des in Klammern angegebenen Links. PartialLinkText () findet daher das Webelement mit der angegebenen Teilzeichenfolge und klickt darauf.
Q # 27) Wie man Handle Frame in WebDriver ?
Ein Inline-Frame-Akronym als Iframe wird verwendet, um ein anderes Dokument in das aktuelle HTML-Dokument oder einfach eine Webseite in eine Webseite einzufügen, indem die Verschachtelung aktiviert wird.
Wählen Sie iframe nach ID
Treiber .switchTo (). frame ( '' ID des Rahmens '' );
Suchen des Iframes mithilfe von tagName
driver.switchTo (). frame (driver.findElements (By.tagName ('iframe'). get (0));
Suchen des Iframes mithilfe des Index
Rahmen (Index)
driver.switchTo (). frame (0);
Rahmen (Name des Rahmens)
driver.switchTo (). frame ('Name des Rahmens');
Frame (WebElement-Element)
Wählen Sie Übergeordnetes Fenster
driver.switchTo (). defaultContent ();
F # 28) Wann verwenden wir findElement () und findElements ()?
findElement (): findElement () wird verwendet, um das erste Element auf der aktuellen Webseite zu finden, das mit dem angegebenen Locator-Wert übereinstimmt. Beachten Sie, dass nur das erste übereinstimmende Element abgerufen wird.
Syntax:
WebElement-Element = Treiber .findElements (By.xpath ( '// div (@ id = 'example') // ul // li' ));
findElements (): findElements () wird verwendet, um alle Elemente auf der aktuellen Webseite zu finden, die mit dem angegebenen Locator-Wert übereinstimmen. Beachten Sie, dass alle übereinstimmenden Elemente abgerufen und in der Liste der WebElements gespeichert werden.
Syntax:
Liste elementList = Treiber .findElements (By.xpath ( '// div (@ id = 'example') // ul // li' ));
Q # 29) Wie finde ich mehr als ein Webelement in der Liste?
Manchmal stoßen wir auf Elemente desselben Typs wie mehrere Hyperlinks, Bilder usw., die in einer geordneten oder ungeordneten Liste angeordnet sind. Daher ist es absolut sinnvoll, solche Elemente mit einem einzigen Code zu behandeln, und dies kann mithilfe der WebElement-Liste erfolgen.
Beispielcode
// Storing the list List elementList = driver.findElements(By.xpath('//div(@id='example')//ul//li')); // Fetching the size of the list int listSize = elementList.size(); for (int i=0; i F # 30) Was ist der Unterschied zwischen dem Befehl driver.close () und dem Befehl driver.quit?
schließen() : Die close () -Methode von WebDriver schließt das Webbrowser-Fenster, an dem der Benutzer gerade arbeitet, oder wir können auch sagen, auf welches Fenster der WebDriver gerade zugreift. Der Befehl erfordert weder einen Parameter noch gibt er einen Wert zurück.
Verlassen() : Im Gegensatz zur Methode close () schließt die Methode quit () alle Fenster, die das Programm geöffnet hat. Wie bei der Methode close () erfordert der Befehl weder einen Parameter noch gibt er einen Wert zurück.
F # 31) Kann Selenium Windows-basiertes Popup verarbeiten?
Selen ist ein Automatisierungstest-Tool, das nur das Testen von Webanwendungen unterstützt. Daher können Windows-Popups nicht mit Selenium verarbeitet werden.
F # 32) Wie können wir mit webbasiertem Popup umgehen?
WebDriver bietet den Benutzern eine sehr effiziente Möglichkeit Behandeln Sie diese Popups über die Alert-Oberfläche . Es gibt die vier Methoden, die wir zusammen mit der Alert-Schnittstelle verwenden würden.
- void entlassen () - Die Methode Entlassung () klickt auf die Schaltfläche 'Abbrechen', sobald das Popup-Fenster angezeigt wird.
- void accept () - Die Methode accept () klickt auf die Schaltfläche „Ok“, sobald das Popup-Fenster angezeigt wird.
- String getText () - Die Methode getText () gibt den im Warnfeld angezeigten Text zurück.
- void sendKeys (String stringToSend) - Die sendKeys () -Methode gibt das angegebene Zeichenfolgenmuster in das Warnfeld ein.
Syntax:
// Javascript-Alarm akzeptieren
Alert alert = driver.switchTo (). Alert ();
alert.accept ();
F # 33) Wie können wir mit Windows-basierten Popups umgehen?
Selenium ist ein Automatisierungstest-Tool, das nur das Testen von Webanwendungen unterstützt. Das heißt, es unterstützt das Testen von Windows-basierten Anwendungen nicht. Selen allein kann die Situation zwar nicht verbessern, aber zusammen mit einigen Eingriffen Dritter kann dieses Problem überwunden werden. Neben dem Selen stehen verschiedene Tools von Drittanbietern zur Verfügung, mit denen fensterbasierte Popups verarbeitet werden können, z. B. AutoIT, Roboterklasse usw.
F # 34) Wie kann der Titel der Webseite bestätigt werden?
// Überprüfen Sie den Titel der Webseite
assertTrue ('Der Titel des Fensters ist falsch.', driver.getTitle (). equals ('Titel der Seite'));
F # 35) Wie kann ich mit WebDriver mit der Maus über ein Webelement fahren?
WebDriver bietet eine Vielzahl von Interaktionsdienstprogrammen, mit denen der Benutzer Maus- und Tastaturereignisse automatisieren kann. Action Interface ist ein solches Dienstprogramm, das die Einzelbenutzerinteraktionen simuliert.
Im folgenden Szenario haben wir die Aktionsschnittstelle verwendet, um mit der Maus über ein Dropdown-Menü zu fahren, das dann eine Liste mit Optionen öffnet.
Beispielcode:
// Instantiating Action Interface Actions actions=new Actions(driver); // howering on the dropdown actions.moveToElement(driver.findElement(By.id('id of the dropdown'))).perform(); // Clicking on one of the items in the list options WebElement subLinkOption=driver.findElement(By.id('id of the sub link')); subLinkOption.click();
F # 36) Wie rufe ich CSS-Eigenschaften eines Elements ab?
Die Werte der CSS-Eigenschaften können mit einer get () -Methode abgerufen werden:
Syntax:
driver.findElement (By.id ( 'Ich würde “)). GetCssValue ( 'Name des CSS-Attributs' );
driver.findElement (By.id ( 'Ich würde “)). GetCssValue ( 'Schriftgröße' );
F # 37) Wie kann ich einen Screenshot in WebDriver aufnehmen?
import org.junit.After; import org.junit.Before; import org.junit.Test; import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import org.openqa.selenium.OutputType; import org.openqa.selenium.TakesScreenshot; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; public class CaptureScreenshot { WebDriver driver; @Before public void setUp() throws Exception { driver = new FirefoxDriver(); driver.get('https://google.com'); } @After public void tearDown() throws Exception { driver.quit(); } @Test public void test() throws IOException { // Code to capture the screenshot File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); // Code to copy the screenshot in the desired location FileUtils.copyFile(scrFile, new File('C:\CaptureScreenshot\google.jpg')) } }
Q # 38) Was ist Junit?
Junit ist ein von Apache eingeführtes Unit-Test-Framework. Junit basiert auf Java.
F # 39) Was sind Junit-Anmerkungen?
Es folgen die JUnit-Anmerkungen:
- @Prüfung: Annotation teilt dem System mit, dass die als @Test annotierte Methode eine Testmethode ist. In einem einzigen Testskript können mehrere Testmethoden vorhanden sein.
- @Vor: Die mit @Before bezeichnete Methode teilt dem System mit, dass diese Methode jedes Mal vor jeder der Testmethoden ausgeführt werden muss.
- @Nach dem: Die mit @After gekennzeichnete Methode teilt dem System mit, dass diese Methode jedes Mal nach jeder Testmethode ausgeführt werden soll.
- @Vor dem Unterricht: Die mit @BeforeClass kommentierte Methode teilt dem System mit, dass diese Methode vor einer der Testmethoden einmal ausgeführt werden muss.
- @Nach dem Unterricht: Die als @AfterClass kommentierte Methode teilt dem System mit, dass diese Methode nach einer der Testmethoden einmal ausgeführt werden soll.
- @Ignorieren: Die mit @Ignore kommentierte Methode teilt dem System mit, dass diese Methode nicht ausgeführt werden soll.
Q # 40) Was ist TestNG und wie ist es besser als Junit?
TestNG ist ein fortschrittliches Framework, das so konzipiert ist, dass die Vorteile sowohl von Entwicklern als auch von Testern genutzt werden können. Mit dem Start der Frameworks gewann JUnit eine enorme Popularität bei Java-Anwendungen, Java-Entwicklern und Java-Testern, wobei die Codequalität erheblich gesteigert wurde. Obwohl JUnit einfach zu bedienen und unkompliziert ist, hat es seine eigenen Einschränkungen, die dazu führen, dass TestNG ins Bild gesetzt werden muss. TestNG ist ein Open Source Framework, das unter der Apache Software License vertrieben wird und zum Download zur Verfügung steht.
TestNG mit WebDriver bietet ein effizientes und effektives Testergebnisformat, das wiederum mit den Stakeholdern geteilt werden kann, um einen Einblick in den Zustand des Produkts / der Anwendung zu erhalten, wodurch der Nachteil der Unfähigkeit von WebDriver, Testberichte zu erstellen, beseitigt wird. TestNG verfügt über einen integrierten Ausnahmebehandlungsmechanismus, mit dem das Programm ausgeführt werden kann, ohne unerwartet beendet zu werden.
Es gibt verschiedene Vorteile, die TestNG JUnit überlegen machen. Einige von ihnen sind:
- Vorab und einfache Anmerkungen hinzugefügt
- Ausführungsmuster können eingestellt werden
- Gleichzeitige Ausführung von Testskripten
- Testfallabhängigkeiten können festgelegt werden
Q # 41) Wie stelle ich die Testfallpriorität in TestNG ein?
Festlegen der Priorität in TestNG
Code-Auszug
package TestNG; import org.testng.annotations.*; public class SettingPriority { @Test(priority=0) public void method1() { } @Test(priority=1) public void method2() { } @Test(priority=2) public void method3() { } }
Testausführungssequenz:
- Methode 1
- Methode2
- Methode3
Q # 42) Was ist ein Framework?
Das Framework ist eine konstruktive Mischung aus verschiedenen Richtlinien, Codierungsstandards, Konzepten, Prozessen, Praktiken, Projekthierarchien, Modularität, Berichtsmechanismen, Testdateninjektionen usw. zum Testen der Säulenautomatisierung.
Q # 43) Was sind die Vorteile des Automatisierungsframeworks?
Der Vorteil von Test Automation Framework
- Wiederverwendbarkeit von Code
- Maximale Abdeckung
- Wiederherstellungsszenario
- Kostengünstige Wartung
- Minimaler manueller Eingriff
- Einfache Berichterstattung
F # 44) Was sind die verschiedenen Arten von Frameworks?
Nachfolgend sind die verschiedenen Arten von Frameworks aufgeführt:
- Modulbasiertes Testframework: Das Framework unterteilt die gesamte „Testanwendung“ in die Anzahl der logischen und isolierten Module. Für jedes Modul erstellen wir ein separates und unabhängiges Testskript. Wenn diese Testskripte zusammengenommen wurden, wird ein größeres Testskript erstellt, das mehr als ein Modul darstellt.
- Testframework für Bibliotheksarchitektur: Die grundlegende Grundlage des Frameworks besteht darin, die allgemeinen Schritte zu bestimmen und sie in Funktionen unter einer Bibliothek zu gruppieren und diese Funktionen bei Bedarf in den Testskripten aufzurufen.
- Data Driven Testing Framework: Das Data Driven Testing Framework hilft dem Benutzer, die Testskriptlogik und die Testdaten voneinander zu trennen. Damit kann der Benutzer die Testdaten in einer externen Datenbank speichern. Die Daten werden herkömmlicherweise in Schlüssel-Wert-Paaren gespeichert. Somit kann der Schlüssel verwendet werden, um auf die Daten in den Testskripten zuzugreifen und diese zu füllen.
- Keyword Driven Testing Framework: Das schlüsselwortgesteuerte Testframework ist eine Erweiterung des datengesteuerten Testframeworks in dem Sinne, dass es nicht nur die Testdaten von den Skripten trennt, sondern auch den bestimmten Codesatz, der zum Testskript gehört, in einer externen Datendatei speichert.
- Hybrid Testing Framework: Das Hybrid Testing Framework ist eine Kombination aus mehr als einem der oben genannten Frameworks. Das Beste an einem solchen Setup ist, dass es die Vorteile aller Arten von zugehörigen Frameworks nutzt.
- Verhaltensorientiertes Entwicklungs-Framework: Das Behaviour Driven Development Framework ermöglicht Business Analysts, Entwicklern, Testern usw. die Automatisierung von Funktionsvalidierungen in einem leicht lesbaren und verständlichen Format.
F # 45) Wie kann ich Testdaten von Excel lesen?
Fragen zum Selen-Interview für 8 Jahre Erfahrung
Testdaten können mithilfe der JXL- oder POI-API effizient aus Excel gelesen werden. Ein detailliertes Tutorial finden Sie hier .
F # 46) Was ist der Unterschied zwischen POI und jxl jar?
# JXL-Glas POI Glas 1 JXL unterstützt das '.xls' -Format, d. H. Das binäre Format. JXL unterstützt nicht das Excel 2007- und das XLSX-Format, d. H. Das XML-basierte Format POI jar unterstützt alle diese Formate zwei Die JXL-API wurde zuletzt im Jahr 2009 aktualisiert Der POI wird regelmäßig aktualisiert und freigegeben 3 Die JXL-Dokumentation ist nicht so umfassend wie die von POI POI verfügt über eine gut vorbereitete und umfassende Dokumentation 4 Die JXL-API unterstützt keine Rich-Text-Formatierung Die POI-API unterstützt die Rich-Text-Formatierung 5 Die JXL-API ist schneller als die POI-API Die POI-API ist langsamer als die JXL-API
Q # 47) Was ist der Unterschied zwischen Selen und QTP?
Merkmal Selen Schnelltest Professional (QTP) Browser-Kompatibilität Selenium unterstützt fast alle gängigen Browser wie Firefox, Chrome, Safari, Internet Explorer, Opera usw. QTP unterstützt Internet Explorer, Firefox und Chrome. QTP unterstützt nur das Windows-Betriebssystem Verteilung Selen wird als Open-Source-Tool vertrieben und ist frei verfügbar QTP wird als lizenziertes Tool vertrieben und kommerzialisiert Anwendung im Test Selen unterstützt das Testen nur von webbasierten Anwendungen QTP unterstützt das Testen sowohl der webbasierten als auch der Windows-basierten Anwendung Objekt-Repository Das Objekt-Repository muss als separate Entität erstellt werden QTP erstellt und verwaltet automatisch das Objekt-Repository Sprachunterstützung Selenium unterstützt mehrere Programmiersprachen wie Java, C #, Ruby, Python, Perl usw. QTP unterstützt nur VB Script Lieferantenunterstützung Da Selenium ein kostenloses Tool ist, würde der Benutzer die Unterstützung des Anbieters bei der Fehlerbehebung nicht erhalten Benutzer können bei Problemen problemlos den Support des Anbieters in Anspruch nehmen
F # 48) Kann WebDriver mobile Anwendungen testen?
WebDriver kann mobile Anwendungen nicht testen. WebDriver ist ein webbasiertes Testtool, daher können Anwendungen auf den mobilen Browsern getestet werden.
F # 49) Kann Captcha automatisiert werden?
Nein, Captcha und Barcode-Leser können nicht automatisiert werden.
F # 50) Was ist das Objekt-Repository? Wie können wir ein Objekt-Repository in Selen erstellen?
Object Repository ist ein Begriff, der sich auf die Sammlung von Webelementen bezieht, die zu Application Under Test (AUT) gehören, zusammen mit ihren Locator-Werten. Wenn das Element im Skript benötigt wird, kann der Locator-Wert aus dem Objekt-Repository ausgefüllt werden. Das Objekt-Repository wird verwendet, um Locators an einem zentralen Ort zu speichern, anstatt sie in den Skripten fest zu codieren.
In Selenium können Objekte in einer Excel-Tabelle gespeichert werden, die bei Bedarf im Skript ausgefüllt werden kann.
Das ist alles für jetzt.
Wir hoffen, dass Sie in diesem Artikel Antworten auf die am häufigsten gestellten Fragen zum Selenium- und WebDriver-Interview finden. Die hier bereitgestellten Antworten sind auch hilfreich, um die Selenium-Grundlagen und fortgeschrittenen WebDriver-Themen zu verstehen.
Haben Sie Fragen zum Selenium-Interview, die hier nicht beantwortet werden? Bitte lassen Sie es uns in den Kommentaren unten wissen und wir werden versuchen, alle zu beantworten.
=> Damit ist nicht nur dieser Artikel abgeschlossen, sondern auch unsere komplette Selenium-Trainingsreihe. Überprüfen Sie die Liste aller über 30 Tutorials auf dieser Seite . Bitte teilen Sie uns Ihre Kommentare und Fragen mit.
Literatur-Empfehlungen
- Interview Fragen und Antworten
- Spock Interview Fragen mit Antworten (am beliebtesten)
- Fragen und Antworten zum ETL-Testinterview
- Cucumber Selenium Tutorial: Integration von Cucumber Java Selenium WebDriver
- FAQs zu Selen
- Integration von Selen mit JMeter
- Einführung in Selenium WebDriver - Selenium Tutorial # 8
- Top 50 der beliebtesten Fragen und Antworten zu CCNA-Interviews