Devi leggere 30 domande e risposte per l'intervista al selenio: Guida definitiva 2022
Pubblicato: 2021-01-04Stai partecipando a un colloquio importante e ti stai chiedendo quali sono tutte le domande del colloquio Selenium che affronterai?
Abbiamo creato questa guida alle domande e risposte dell'intervista Selenium più letta per aiutarti a capire la profondità delle domande e affrontarla con sicurezza.
Inoltre, poiché sono manuali, sono soggetti a errori. I test manuali non aiutano a lungo termine e quindi i test automatizzati come il selenio stanno guadagnando domanda nel settore. Se stai perseguendo la tua carriera nei test automatizzati e hai un prossimo colloquio in Selenium, questo blog è pensato per te.
In questo blog, discuteremo qui le domande più comuni dell'intervista al Selenio. Queste sono per entrambi: i principianti e le domande del colloquio di Selenium per esperti.
Domande e risposte sull'intervista al selenio 2022
D.1) Perché scegliere Selenium rispetto ad altri strumenti di test automatizzati?
Il selenio è open source. È molto facile da adattare rispetto ad altri strumenti automatizzati sul mercato. Per questo motivo, molte aziende scelgono i test automatizzati del selenio rispetto ad altri metodi tradizionali.

D.2) Elenca alcuni vantaggi di Selenium rispetto a strumenti come TestComplete e QTP. Inoltre, quali sono gli svantaggi?
Il selenio non richiede una licenza, a differenza di TestComplete e QTP, essendo facile per le tasche. La comunità online offre un supporto enorme. I cicli di rilascio sono più piccoli e il feedback è rapido rispetto a TestComplete e QTP. Inoltre, Selenium funziona anche su Mac, Linux e Windows.
Al contrario, Selenium richiede che uno sviluppatore abbia elevate capacità di codifica. Considerando che QTP e TestComplete richiedono rispettivamente un livello da basso a moderato di abilità di codifica.
D.3) Quali modifiche sono avvenute nei vari upgrade di versione di Selenium?
Nella prima versione di Selenium, Selenium v1, comprendeva solo tre suite di strumenti, che sono Selenium IDE, RC e Grid. Mancava il Webdriver. Fu solo nella seconda versione di Selenium, Selenium v2 che fu introdotto il Webdriver. Una volta fatto ciò, Selenium RC non era più in uso.
Li puoi trovare sul mercato, ma il supporto non è disponibile. La prossima versione di Selenium è Selenium v3. È costituito da Webdriver, IDE e Grid. Attualmente è in uso. È ora disponibile anche una versione più recente, Selenium v4.
Selenium IDE è principalmente per la registrazione e la riproduzione. Il Webdriver serve per testare le applicazioni web dinamiche utilizzando un'interfaccia di programmazione. La griglia viene utilizzata per l'utilizzo di test in macchine host remote.
È necessario utilizzare l'IDE per la registrazione e la riproduzione dei test. Un WebDriver viene utilizzato per testare le applicazioni Web attive utilizzando un'interfaccia di programmazione e la griglia viene utilizzata per distribuire i test in macchine host isolate.
D.4) Quali sono le varie eccezioni in Selenium WebDriver?
Proprio come qualsiasi altro linguaggio di programmazione, puoi trovare eccezioni anche in Selenium. Puoi trovare le seguenti eccezioni in Selenium WebDriver:
TimeoutException: ottieni questa eccezione quando un comando non esegue un'azione nel tempo specificato.
NoSuchElementException: ottieni questa eccezione quando non riesce a trovare un elemento con gli attributi specificati su una pagina web.
ElementNotVisibleException: ottieni questa eccezione quando un elemento è disponibile nel modello a oggetti del documento, ma non viene visualizzato nella pagina Web.
StaleElementException: ottieni questa eccezione quando un elemento non è allegato al modello a oggetti del documento o viene eliminato.
Q.5) Spiegare il test di eccezione del selenio
L'eccezione che si prevede venga generata all'interno di una classe di test è un test di eccezione. Se si scrive un test case con l'intenzione di generare un'eccezione, è necessario utilizzare l'annotazione @test e menzionarla anche nei parametri quale eccezione verrebbe generata. Per esempio,
@Test(expectedException = NoSuchElementException.class)
D.6) C'è bisogno di un foglio excel in un progetto? È sì, come?
I fogli Excel vengono utilizzati come origine dati durante i test. Inoltre, memorizza anche il set di dati durante l'esecuzione di test basati sui dati. Quando i fogli Excel vengono utilizzati come origine dati, possono archiviare:
URL dell'applicazione: gli sviluppatori possono citare l'URL dell'ambiente in cui viene eseguito il test. Ad esempio, ambiente di test, ambiente di sviluppo, ambiente di controllo qualità, ambiente di produzione o ambiente di staging.
Informazioni su nome utente e password: i fogli Excel possono mantenere al sicuro le credenziali di accesso come il nome utente di una password di vari ambienti. Gli sviluppatori possono crittografare e archiviare questi dettagli per motivi di sicurezza.
Casi di test: gli sviluppatori possono creare una tabella in cui una colonna scrive il nome del test case e l'altra che dice di essere eseguita o meno.
Se hai intenzione di utilizzare fogli excel per DataDriven Test, puoi facilmente memorizzare le informazioni per varie duplicazioni da eseguire durante i test. Ad esempio, tutti i dati che devono essere scritti in una casella di testo per il test su una pagina Web possono essere archiviati nei fogli excel.
D.7) Cos'è il POM? Elenca i suoi vantaggi?
POM sta per Page Object Model. È un modello di progettazione per la creazione di un Object Repository per gli elementi dell'interfaccia utente web. Ogni singola pagina Web nell'applicazione deve avere la propria classe di pagina corrispondente, che ha il compito di cercare i WebElements in quella pagina e quindi eseguire operazioni su di essi.
I vantaggi dell'utilizzo del modello a oggetti Page sono:
- Rende il codice leggibile consentendo agli sviluppatori di separare le operazioni e i flussi dell'interfaccia utente dalla verifica.
- Diversi test possono utilizzare lo stesso Object Repository perché è indipendente dai test case.
- Il codice diventa riutilizzabile.
D.8) Che cos'è una Page Factory?
Page Factory offre un metodo avanzato per eseguire il modello a oggetti della pagina utilizzando in modo efficiente la memoria e l'esecuzione viene eseguita utilizzando la progettazione orientata agli oggetti.
Implementazione del POM | |
Con Page Factory | Senza Page Factory |
Utilizza per() | Utilizza @FindBy() |
Non sono richieste importazioni | Importa Pagina fabbrica |
Nessuna memoria cache | La ricerca nella cache è più veloce |
Page Factory inizializza gli elementi dell'Oggetto Pagina o crea un'istanza degli Oggetti Pagina stessi. Possono essere prodotte anche annotazioni per gli elementi. In effetti, è un modo migliore in quanto le proprietà descrittive potrebbero non essere sufficientemente espressive per differenziare un oggetto da un altro
Se POM viene utilizzato senza un page factory, invece di dover utilizzare "FindElements", @FindBy viene utilizzato per cercare WebElement e initElements viene utilizzato per inizializzare gli elementi Web dalla classe Page Factory.
@FindBy può accettare attributi come tagName, name, partialLinkText , linkText, id, className , css e xpath.
D.9) Come si ottiene la sincronizzazione in WebDriver? Oppure, parlaci dei diversi tipi di dichiarazioni di attesa Selenium Web Driver?
È possibile trovare due istruzioni di attesa nel driver Web Selenium, ovvero Implicit Wait e Explicit Wait.
L'attesa implicita comanda al WebDriver di attendere un po' eseguendo il polling del DOM. È presente per tutta la vita dell'istanza del driver Web, una volta dichiarata l'attesa implicita. Il valore preimpostato è zero. Se lo imposti su un valore maggiore di zero, il comportamento eseguirà regolarmente il polling del DOM in base all'implementazione del driver.
L'attesa esplicita comanda all'esecuzione di attendere un po' fino al raggiungimento di una condizione come:
- elementToBeClickable
- presenzaOfElementLocated
- elementToBeSelected
Leggi: Domande e risposte all'intervista di primavera
10) A cosa serve JavaScriptExecutor?
Puoi eseguire JavaScript tramite Selenium Websriver utilizzando JavaScriptExecutor. È un'interfaccia che offre questo meccanismo. Fornisce metodi come "executescript" ed "executeAsyncScript" per eseguire JavaScript nelle condizioni del frame o della finestra attualmente scelti. Un esempio è:
JavascriptExecutor js = driver (JavascriptExecutor);
js.executeScript(Script,Argomenti);
D.11) Quale funzione consente di scorrere una pagina verso il basso utilizzando JavaScript in Selenium?
La funzione window.scrollBy() ti aiuta a scorrere la pagina verso il basso usando JavaScript in Selenium. Per esempio:
(driver (JavascriptExecutor)).executeScript(“window.scrollBy(0,500”);
D.12) Come gestisci le azioni del mouse e della tastiera usando Selenium?
Le azioni speciali del mouse e della tastiera vengono gestite utilizzando l'API per le interazioni utente avanzate. Comprende le Azioni e le Classi di Azioni necessarie per lo svolgimento di questi eventi. Gli eventi di mouse e tastiera più utilizzati forniti dalla classe Action sono:
dragAndDrop(): questo evento esegue clic e tieni premuto nella posizione dell'elemento sorgente, si sposta.
source, target(): si sposta alla posizione dell'elemento target e rilascia il mouse.
clickAndHold(): fa clic sulla posizione corrente del mouse.
D.13) Quali sono i vari tipi di framework Selenium?
I vari tipi di framework Selenium sono:
- Keyword Driven Framework: in questo framework, le operazioni e le istruzioni sono scritte in un file separato come Excel.
- Framework basato sui dati: in questo framework, i dati di test completi vengono presi da alcuni file di origine esterni come XML, Excel, CSV o qualche altra tabella di database.
- Framework ibrido: questo framework è una combinazione sia del framework Keyword Driven che del framework Data-Driven.
Q.14) Nominare alcuni file che fungono da origine dati per vari framework Selenium.
Possono essere un file XML, Excel, CSV o persino un file di testo.
D.15) Cos'è il selenese?
Selenese è il gruppo di comandi di selenio per testare un'applicazione web. Gli sviluppatori possono utilizzare Asserzioni, Azioni e Accessor. Le asserzioni sono usate come checkpoint. Le azioni servono per eseguire le operazioni e gli accessor vengono utilizzati per memorizzare il valore di una variabile.
D.16) Qual è la differenza principale tra Page Factory e Page Object Model (POM)?
Una domanda comune da intervista al selenio. Una page factory è un metodo per inizializzare gli elementi Web all'interno dell'oggetto della pagina durante la creazione dell'istanza. D'altra parte, il modello a oggetti della pagina è una classe che afferma la pagina Web e ne mantiene le funzionalità.
D.17) Selenium supporta la gestione dei popup delle finestre?
No. Selenium non supporta la gestione dei popup. Un avviso, che è una finestra a comparsa, visualizza un messaggio di avviso sullo schermo. Puoi raggiungere questo obiettivo utilizzando alcuni metodi come:

Void liquid(): quando si fa clic sul pulsante Annulla nella finestra di avviso, viene chiamato questo metodo.
Void accept(): quando si fa clic sul pulsante 'OK' dell'avviso, viene chiamato questo metodo.
String getText(): se vuoi catturare il messaggio di avviso, devi chiamare questo metodo.
Void sendKeys(String stringToSed): se vuoi inviare alcune informazioni alla finestra di avviso, devi chiamare questo metodo.
Leggi: Reagisci alle domande e alle risposte dell'intervista
Q.18) Spiegare la classe Robot
Una classe Robot offre il controllo sui dispositivi tastiera e mouse.
I metodi comprendono:
- KeyPress(): richiamato sull'evento in cui si desidera premere un tasto.
- KeyRelease(): chiamato nell'evento per rilasciare il tasto premuto.
- MouseMove(): richiamato nell'evento in cui devi spostare il puntatore del mouse nelle coordinate X e Y.
- MousePress(): richiamato nell'evento quando si preme il pulsante sinistro del mouse.
- MouseMove(): richiamato in caso di rilascio del pulsante premuto del mouse.
Q.19) Come gestire molte finestre in Selenium?
L'handle della finestra è un identificatore speciale che ha l'indirizzo di tutte le finestre. Serve come puntatore a una finestra che restituisce il valore nella stringa.
- get.windowhandle(): Ottiene l'handle della finestra corrente.
- get.windowhandles(): Ottiene gli handle di tutte le finestre aperte.
- passa a: aiuta a passare da una finestra all'altra.
- set: imposta le maniglie della finestra, che ha la forma di una stringa.
- azione: aiuta a eseguire determinate azioni sulle finestre.
D.20) Cosa sono gli ascoltatori?
L'interfaccia che cambia il comportamento del sistema è chiamata listener in Selenium. Consentono la personalizzazione di registri e report. Sono di due tipi: listener TestNG e listener Webdriver.
Q.21) Spiegare i comandi di affermazione e verifica
Assert: un'asserzione viene utilizzata per distinguere tra il risultato reale e il risultato atteso.
Verifica: le esecuzioni del test non vengono sospese indipendentemente dal fatto che la condizione di verifica sia vera o falsa.
D.22) Come si naviga avanti e indietro su una pagina web?
È una delle domande più comuni dell'intervista al selenio.
Puoi utilizzare i metodi seguenti per navigare avanti e indietro.
l'autista.va.avanti
guida.gestione.navigazione
autista.gestire.indietro
driver.navigate.to(“url”)
D.23) Come inviare la chiave ALT/MAIUSC/CONTROL in Selenium WebDriver?
Tipicamente usando i tasti come ALT, Maiusc o Control, li combiniamo con altri tasti per attivare una funzione. Non possiamo semplicemente fare clic su di essi da soli. Abbiamo bisogno di definire due metodi allo scopo di mantenere queste chiavi mentre lo sono le chiavi seguenti
premuto: keyUp(modifier_key) e keyDown(modifier_key)
Parametri: Tasto_modificatore (tasti.ALT o Tasti.MAIUSC o Tasti.CONTROL)
Obiettivo: lo scopo è che esegue una pressione del tasto modificatore senza rilasciare il tasto modificatore. Le seguenti interazioni possono presumere che sia tenuto premuto.
Parametri: Tasto_modificatore (tasti.ALT o Tasti.MAIUSC o Tasti.CONTROL)
Obiettivo: lo scopo è che esegue un rilascio chiave.
Quindi, con un mix di questi due metodi, possiamo catturare la funzione speciale di un particolare tasto.
D.24) Come acquisiamo screenshot in Selenium WebDriver?
La funzione TakeScreenshot aiuta a fare uno screenshot in Selenium Webdriver. Inoltre, puoi salvare lo screenshot utilizzando il metodo getScreenshotAs().
File scrFile = ((TakeScreenshot)driver).getScreenshotAs(outputType.FILE);
D. 25) Possiamo impostare la dimensione della finestra del browser utilizzando Selenium? Se si, come?
Sì. Se desideri massimizzare le dimensioni della finestra del browser, devi utilizzare il codice
driver.manage().window().maximize();
Se desideri ridimensionare la finestra corrente a una dimensione specifica, devi utilizzare il metodo setSize(). Per esempio:
System.out.println(driver.manage().window().getSize());
Dimensione d = nuova Dimensione(420.600);
driver.manage().window().setSize(d);
Se desideri impostare la finestra su una dimensione particolare, devi usare il metodo window.resizeTo().
Per esempio:
((JavascriptExecutor)driver).executeScript(“window.resizeTo(1024, 768);”);
Q.26) Come selezionare un valore dal menu a tendina? Come gestire un menu a discesa?
Molto probabilmente ti verrà posta una domanda sul menu a discesa e sulla selezione dei valori poiché è anche un po 'complicato e tecnico.
Il dettaglio più importante che devi sapere è che per lavorare con un menu a discesa in Selenium, è importante utilizzare il tag html: 'select'. Non puoi gestire i menu a discesa senza utilizzare il tag select. Dai un'occhiata al codice qui sotto:
<select id="mySelect">
<option value="option1″>Torte</option>
<option value=”option2″>Cioccolatini</option>
<option value=”option3″> Caramelle</option>
</seleziona>
Nel codice sopra, un tag HTML 'select' viene utilizzato per definire un elemento a discesa. L'ID del tag select qui è myselect. Abbiamo fornito tre opzioni nel menu a discesa: Torte, Cioccolatini e Caramelle. Puoi vedere che ciascuna di queste scelte ha un attributo di valore allegato. Ad esempio, per Cake, il valore è Option1, per Chocolates è Option2 e per Candy è Option3.
Per scegliere un valore è necessario:
Identifica l'elemento html 'select' usando findelement()
Esempio:
WebElement mySelectElement = driver.findElement(By.id("mySelect"));
Seleziona menu a discesa = nuovo Seleziona(mySelectElement);
Scegli un'opzione da quell'elemento a discesa.
Per scegliere un'opzione da quel menu a discesa, ci sono tre modi:
dropdown.selectByVisibleText("Cioccolatini"); → Scegliere un'opzione in base al testo visualizzato.
dropdown.selectByIndex(“1”); → Scegliere un'opzione utilizzando il numero di indice di tale opzione.
dropdown.selectByValue(“opzione2”); → Scegliere un'opzione utilizzando il valore di tale opzione.
Si noti che in tutti i casi, l'opzione "Cioccolatini" è selezionata dal menu a discesa. I punti 1 e 3 sono ovvi e il punto due; diciamo “1” perché l'indicizzazione parte da zero.
Leggi: Le migliori domande e risposte per le interviste a Nagios
Q.27) Come si passa a una nuova scheda che si apre dopo aver fatto clic su un collegamento?
Facendo clic su un collegamento in una pagina Web, è necessario utilizzare il comando switchTo() per modificare il focus del Webdriver. Esempio: driver.switchTo().window();
dove 'windowName' è il nome della finestra su cui vuoi spostare lo stato attivo.
Se non si dispone del nome della finestra, è possibile utilizzare il comando driver.getWindowHandle() per recuperare il nome di tutte le finestre che sono state avviate dal WebDriver. Ricorda, non ti darà mai i nomi di quelle finestre che Webdriver non ha avviato.
Dopo aver ottenuto il nome, è necessario eseguire un ciclo per arrivare a quella finestra. Ecco un esempio:
String handle= driver.getWindowHandle();
for (handle di stringa: driver.getWindowHandles())
{
driver.switchTo().window(handle);
}
D.28) Come si può caricare un file in Selenium WebDriver?
Il comando element.send_keys(percorso file) viene utilizzato per caricare un file in Selenium Webdriver. Ma prima devi usare il tag html: 'input' dove il tipo di attributo dovrebbe essere 'file'. Ecco un esempio per capirlo meglio:
<tipo di input=”file” name=”my_uploaded_file” size=”50″ class=”pole_plik”>
elemento = driver.find_element_by_id ("il mio_file_caricato")
element.send_keys ("C:myfile.txt")
D.29) Qual è l'importanza di testng.xml?
Se stai intervistando per Selenium, conosci sicuramente l'importanza dei test. Selenium non supporta la generazione del report e la gestione dei test case. Pertanto, utilizziamo il framework TestNG con Selenium. È molto avanzato rispetto a Junit ed è più facile implementare le annotazioni rendendo il framework TestNG la scelta con Selenium Webdriver.
Puoi definire le suite di test e il raggruppamento delle classi di test in TestNG, prendendo i comandi dal file testing.xml. È rappresentato in un file XML e non in una suite di test all'interno del codice sorgente di test perché la suite è una funzionalità di esecuzione. Una suite di test è un gruppo o una raccolta di casi di test.
Il file testng.xml dovrebbe contenere il nome di tutti i metodi e le classi che si desidera eseguire come parte di quel flusso di esecuzione.
Alcuni dei vantaggi dell'utilizzo del file testng.xml sono:
- Consente l'esecuzione di più casi di test da più classi
- Consente l'esecuzione di test case in gruppi, dove un singolo test può appartenere a più gruppi.
- Consente l'esecuzione parallela.
D. 30) Spiegare i fornitori di dati in TestNG. È possibile chiamare un unico metodo del provider di dati per più funzioni e classi?
Una delle domande avanzate dell'intervista al selenio. DataProvider è una funzionalità di TestNG, che consente agli sviluppatori di scrivere test DataDriven. Supporta i test DataDriven, il che significa che lo stesso metodo di test può essere eseguito più volte con set di dati diversi. DataProvider è solo un metodo per passare i parametri al metodo di test.
@DataProvider è un metodo per fornire dati per un metodo di test. Il metodo annotato deve restituire un Object[] in cui ogni Object[] può essere assegnato all'elenco dei parametri del metodo di prova.

Sì. È possibile chiamare un unico metodo del provider di dati per più funzioni e classi. Lo stesso DataProvider può essere utilizzato in diverse funzioni e classi dichiarando DataProvider in una classe separata e quindi riutilizzandolo in più classi.
D. 31) Quali sono le caratteristiche di TestNG?
- Annotazioni prima e dopo
- Configurazione di test basata su XML
- Esecuzione multithread
- Apri API
- Rapporti migliori
- Test basati sui dati
- Gruppi dipendenti.
- Metodi dipendenti
Ottieni il corso di sviluppo software dalle migliori università del mondo. Guadagna programmi Executive PG, programmi di certificazione avanzati o programmi di master per accelerare la tua carriera.
Conclusione
Venendo alla fine della guida alle domande e risposte del colloquio di Selenium , speriamo che questo ti aiuti a ottenere il tuo lavoro. Le domande del colloquio di selenio per esperti sono più tecniche, ma con una forte concorrenza sui lavori, è sempre bello essere preparati bene per un colloquio.
Se sei interessato a imparare Selenium, DevOps e tutto ciò che riguarda lo sviluppo di Full Stack, dai un'occhiata al programma Executive PG di IIIT-B e upGrad nel programma di sviluppo software Full Stack.
