50 most popularly asked selenium interview questions
In questo tutorial, abbiamo elencato i primi Le 50 domande più frequenti dell'intervista al selenio, tra cui Selenium IDE, Selenium RC, Selenium Grid e Selenium WebDriver.
Una breve nota su questa serie di articoli sul selenio prima di passare a questo tutorial:
Questo è l'ultimo tutorial della nostra serie di formazione online Selenium di oltre 30 tutorial completi. Spero che vi siano piaciuti questi tutorial e che abbiate iniziato a imparare da esso. Se sei nuovo qui, vai su questo primissimo tutorial in questa serie di formazione.
******************
Inoltre, dai un'occhiata a questo ' Il miglior corso di formazione online sul selenio 'Per apprendere lo strumento di automazione del selenio da un esperto con oltre 10 anni di esperienza nell'automazione del selenio.
******************
Top 50 domande e risposte per l'intervista al selenio
Eccoci qui.
D # 1) Che cos'è il test di automazione?
Il test di automazione o Test Automation è un processo di automatizzazione del processo manuale per testare l'applicazione / il sistema sotto test. I test di automazione comportano l'uso di uno strumento di test separato che consente di creare script di test che possono essere eseguiti ripetutamente e non richiedono alcun intervento manuale.
D # 2) Quali sono i vantaggi dei test di automazione?
I vantaggi dei test di automazione sono:
- Supporta l'esecuzione di casi di test ripetuti
- Aiuta a testare una matrice di test di grandi dimensioni
- Abilita l'esecuzione parallela
- Incoraggia l'esecuzione incustodita
- Migliora la precisione riducendo così gli errori generati dall'uomo
- Risparmia tempo e denaro
D # 3) Perché il selenio dovrebbe essere selezionato come strumento di test?
Selenio
- è un software gratuito e open source
- avere un'ampia base di utenti e aiutare le comunità
- avere compatibilità cross Browser (Firefox, Chrome, Internet Explorer, Safari ecc.)
- hanno un'ottima compatibilità con le piattaforme (Windows, Mac OS, Linux ecc.)
- supporta più linguaggi di programmazione (Java, C #, Ruby, Python, Pearl ecc.)
- ha sviluppi di repository freschi e regolari
- supporta test distribuiti
Q # 4) Cos'è il selenio? Quali sono i diversi componenti del selenio?
Il selenio è una delle suite di test automatizzati più popolari. Selenium è progettato in modo da supportare e incoraggiare i test di automazione degli aspetti funzionali delle applicazioni basate sul Web e di un'ampia gamma di browser e piattaforme. Grazie alla sua esistenza nella comunità open source, è diventato uno degli strumenti più accettati dai professionisti del testing.
differenza tra test white box e test blackbox
Selenium non è solo un singolo strumento o un'utilità, piuttosto un pacchetto di diversi strumenti di test e per lo stesso motivo viene indicato come una suite. Ciascuno di questi strumenti è progettato per soddisfare i diversi requisiti dell'ambiente di test e test.
Il pacchetto suite costituisce i seguenti set di strumenti:
- Ambiente di sviluppo integrato al selenio (IDE) - Selenium IDE è uno strumento di registrazione e riproduzione. È distribuito come plugin per Firefox.
- Selenio telecomando (RC) - Selenium RC è un server che consente a un utente di creare script di test nel linguaggio di programmazione desiderato. Consente inoltre di eseguire script di test all'interno dell'ampio spettro di browser.
- Selenium WebDriver - WebDriver è uno strumento completamente diverso che presenta diversi vantaggi rispetto a Selenium RC. WebDriver comunica direttamente con il browser web e utilizza la sua compatibilità nativa per automatizzare.
- Griglia di selenio - Selenium Grid viene utilizzato per distribuire l'esecuzione del test su più piattaforme e ambienti contemporaneamente.
D # 5) Quali sono i tipi di test che possono essere supportati da Selenium?
Il selenio supporta i seguenti tipi di test:
- Test funzionali
- Test di regressione
Q # 6) Quali sono i limiti del selenio?
Di seguito sono riportati i limiti del selenio:
- Selenium supporta il test delle sole applicazioni basate sul web
- Le applicazioni mobili non possono essere testate utilizzando Selenium
- I lettori Captcha e Barcode non possono essere testati utilizzando Selenium
- I report possono essere generati solo utilizzando strumenti di terze parti come TestNG o JUnit.
- Poiché Selenium è uno strumento gratuito, non esiste un supporto pronto per i fornitori tramite l'utente che può trovare numerose comunità di aiuto.
- L'utente deve possedere una conoscenza precedente del linguaggio di programmazione.
Q # 7) Qual è la differenza tra Selenium IDE, Selenium RC e WebDriver?
Caratteristica | IDE di selenio | Selenio RC | WebDriver |
---|---|---|---|
Gestione di avvisi, navigazioni, menu a discesa | Selenium IDE non fornisce esplicitamente aiuti per gestire avvisi, navigazioni, menu a discesa | Selenium RC non fornisce esplicitamente aiuti per gestire avvisi, navigazioni, menu a discesa. | WebDriver offre un'ampia gamma di utilità e classi che aiutano a gestire avvisi, navigazioni e menu a discesa in modo efficiente ed efficace. |
Compatibilità del browser | Selenium IDE si presenta come un plugin per Firefox, quindi supporta solo Firefox | Selenium RC supporta una vasta gamma di versioni di Mozilla Firefox, Google Chrome, Internet Explorer e Opera. | WebDriver supporta una vasta gamma di versioni di Mozilla Firefox, Google Chrome, Internet Explorer e Opera. Supporta anche HtmlUnitDriver che è un browser senza GUI o headless. |
Registra e riproduci | Selenium IDE supporta la funzione di registrazione e riproduzione | Selenium RC non supporta la funzione di registrazione e riproduzione. | WebDriver non supporta la funzione di registrazione e riproduzione |
Requisiti del server | Selenium IDE non richiede l'avvio di alcun server prima di eseguire gli script di test | Selenium RC richiede che il server venga avviato prima di eseguire gli script di test. | WebDriver non richiede l'avvio di alcun server prima di eseguire gli script di test |
Architettura | Selenium IDE è un framework basato su Javascript | Selenium RC è un framework basato su JavaScript. | WebDriver utilizza la compatibilità nativa del browser con l'automazione |
Orientato agli oggetti | Selenium IDE non è uno strumento orientato agli oggetti | Selenium RC è uno strumento semi orientato agli oggetti. | WebDriver è uno strumento puramente orientato agli oggetti |
Finder dinamici (per individuare elementi web su una pagina web) | Selenium IDE non supporta i cercatori dinamici | Selenium RC non supporta i cercatori dinamici. | WebDriver supporta i cercatori dinamici |
Test WAP (iPhone / Android) | Selenium IDE non supporta i test delle applicazioni iPhone / Andriod | Selenium RC non supporta il test di applicazioni iPhone / Android. | WebDriver è progettato in modo da supportare in modo efficiente i test delle applicazioni iPhone / Android. Lo strumento viene fornito con una vasta gamma di driver per i test basati su WAP. Ad esempio, AndroidDriver, iPhoneDriver |
Supporto per gli ascoltatori | Selenium IDE non supporta gli ascoltatori | Selenium RC non supporta gli ascoltatori. | WebDriver supporta l'implementazione di Listeners |
Velocità | Selenium IDE è veloce poiché è collegato al browser web che avvia il test. Pertanto, l'IDE e il browser comunicano direttamente | Selenium RC è più lento di WebDriver in quanto non comunica direttamente con il browser; piuttosto invia comandi selenesi a Selenium Core che a sua volta comunica con il browser. | WebDriver comunica direttamente con i browser web. Rendendolo così molto più veloce. |
Q # 8) Quando dovrei usare Selenium IDE?
Selenium IDE è il più semplice e facile di tutti gli strumenti all'interno del pacchetto Selenium. La sua funzione di registrazione e riproduzione lo rende eccezionalmente facile da imparare con una conoscenza minima di qualsiasi linguaggio di programmazione. Selenium IDE è uno strumento ideale per un utente ingenuo.
Q # 9) Cos'è il selenese?
Il selenese è il linguaggio utilizzato per scrivere script di test in Selenium IDE.
Q # 10) Quali sono i diversi tipi di localizzatori nel selenio?
Il localizzatore può essere definito come un indirizzo che identifica un elemento web in modo univoco all'interno della pagina web. Quindi, per identificare gli elementi web in modo accurato e preciso abbiamo diversi tipi di localizzatori nel selenio :
- ID
- Nome della classe
- Nome
- TagName
- LinkText
- PartialLinkText
- Xpath
- Selettore CSS
- GIUDIZIO
Q # 11) Qual è la differenza tra i comandi asserisci e verifica?
Asserire: Il comando Assert controlla se la condizione data è vera o falsa. Supponiamo di affermare se l'elemento dato è presente o meno nella pagina web. Se la condizione è vera, il controllo del programma eseguirà il passo successivo del test, ma se la condizione è falsa, l'esecuzione si interromperà e non verranno eseguiti ulteriori test.
Verificare: Il comando Verifica controlla anche se la condizione data è vera o falsa. Indipendentemente dal fatto che la condizione sia vera o falsa, l'esecuzione del programma non si interrompe, ovvero qualsiasi errore durante la verifica non interromperà l'esecuzione e verranno eseguiti tutti i passaggi del test.
D # 12) Cos'è un XPath?
XPath viene utilizzato per individuare un elemento web in base al suo percorso XML. XML è l'acronimo di Extensible Markup Language e viene utilizzato per archiviare, organizzare e trasportare dati arbitrari. Memorizza i dati in una coppia chiave-valore che è molto simile ai tag HTML. Essendo entrambi linguaggi di markup e poiché rientrano nello stesso ombrello, XPath può essere utilizzato per individuare elementi HTML.
L'elemento fondamentale per localizzare gli elementi utilizzando XPath è l'attraversamento tra i vari elementi nell'intera pagina e quindi consentire a un utente di trovare un elemento con il riferimento di un altro elemento.
D # 13) Qual è la differenza tra '/' e '//' in Xpath?
Barra singola '/' - La barra singola viene utilizzata per creare Xpath con percorso assoluto, ovvero l'xpath verrebbe creato per avviare la selezione dal nodo del documento / nodo iniziale.
Doppia barra '//' - La doppia barra viene utilizzata per creare Xpath con percorso relativo, ovvero il percorso x verrà creato per avviare la selezione da qualsiasi punto all'interno del documento.
D # 14) Che cos'è la politica della stessa origine e come può essere gestita?
Il problema della stessa politica di origine non consente di accedere al DOM di un documento da un'origine diversa dall'origine a cui stiamo tentando di accedere al documento.
L'origine è una combinazione sequenziale di schema, host e porta dell'URL. Ad esempio, per un URL https://www.softwaretestinghelp.com/resources/, l'origine è una combinazione di http, softwaretestinghelp.com, 80 corrispondentemente.
Pertanto il Selenium Core (programma JavaScript) non può accedere agli elementi da un'origine diversa da quella in cui è stato lanciato. Ad esempio, se ho avviato il programma JavaScript da 'https://www.softwaretestinghelp.com', sarei in grado di accedere alle pagine all'interno dello stesso dominio come 'https://www.softwaretestinghelp.com/resources 'O' https://www.softwaretestinghelp.com/istqb-free-updates/ '. Gli altri domini come google.com, seleniumhq.org non sarebbero più accessibili.
Quindi, al fine di gestire la stessa politica di origine, è stato introdotto Selenium Remote Control.
Q # 15) Quando dovrei usare Selenium Grid?
Selenium Grid può essere utilizzato per eseguire script di test uguali o diversi su più piattaforme e browser contemporaneamente in modo da ottenere un'esecuzione di test distribuita, test in ambienti diversi e un notevole risparmio di tempo di esecuzione.
Q # 16) Cosa si intende per Selenio 1 e Selenio 2?
Selenium RC e WebDriver, in una combinazione, sono popolarmente conosciuti come Selenium 2. Il selenio RC da solo è indicato anche come Selenio 1.
D # 17) Qual è l'ultimo strumento Selenium?
WebDriver
D # 18) Come si avvia il browser utilizzando WebDriver?
La seguente sintassi può essere utilizzata per avviare il browser:
Driver WebDriver = nuovo FirefoxDriver ();
Driver WebDriver = nuovo ChromeDriver ();
Driver WebDriver = nuovo InternetExplorerDriver ();
D # 19) Quali sono i diversi tipi di driver disponibili in WebDriver?
I diversi driver disponibili in WebDriver sono:
- FirefoxDriver
- InternetExplorerDriver
- ChromeDriver
- SafariDriver
- OperaDriver
- AndroidDriver
- IPhoneDriver
- HtmlUnitDriver
D # 20) Quali sono i diversi tipi di attesa disponibili in WebDriver?
Ci sono due tipi di attese disponibili in WebDriver :
- Attesa implicita
- Attesa esplicita
Attesa implicita: Le attese implicite vengono utilizzate per fornire un tempo di attesa predefinito (ad esempio 30 secondi) tra ogni passaggio / comando di test consecutivo nell'intero script di test. Pertanto, la fase di test successiva verrà eseguita solo quando sono trascorsi i 30 secondi dall'esecuzione della fase / comando di test precedente.
Attesa esplicita: Le attese esplicite vengono utilizzate per interrompere l'esecuzione fino al momento in cui viene soddisfatta una particolare condizione o il tempo massimo è trascorso. A differenza delle attese implicite, le attese esplicite vengono applicate solo a un'istanza particolare.
Q # 21) Come si digita in una casella di testo usando il selenio?
L'utente può utilizzare sendKeys ('Stringa da inserire') per inserire la stringa nella casella di testo.
Sintassi:
Nome utente WebElement = drv .findElement (By.id ( 'E-mail' ));
// inserimento del nome utente
username.sendKeys ( 'Qc' );
Q # 22) Come puoi scoprire se un elemento è visualizzato sullo schermo?
WebDriver facilita l'utente con i seguenti metodi per controllare la visibilità degli elementi web. Questi elementi web possono essere pulsanti, caselle a discesa, caselle di controllo, pulsanti di opzione, etichette ecc.
- È visualizzato()
- è selezionato()
- è abilitato()
Sintassi:
È visualizzato():
booleano buttonPresence = driver.findElement (By.id ( 'Credere' )).È visualizzato();
è selezionato():
booleano buttonSelected = driver.findElement (By.id ( 'Credere' )).è selezionato();
è abilitato():
booleano searchIconEnabled = driver.findElement (By.id ( 'Gbqfb' )).è abilitato();
Q # 23) Come possiamo ottenere il testo di un elemento web?
Il comando Get viene utilizzato per recuperare il testo interno dell'elemento web specificato. Il comando non richiede alcun parametro ma restituisce un valore stringa. È anche uno dei comandi ampiamente utilizzati per la verifica di messaggi, etichette, errori, ecc. Visualizzati nelle pagine web.
Sintassi:
String Text = driver.findElement (By.id ('Text')). GetText ();
Q # 24) Come selezionare il valore in un menu a discesa?
Il valore nel menu a discesa può essere selezionato utilizzando la classe Select di WebDriver.
domande e risposte dell'intervista al selenio per 4 anni di esperienza
Sintassi:
selectByValue:
Seleziona selectByValue = nuovo Selezionare( conducente .findElement (By.id ( 'SelectID_One' )));
selectByValue.selectByValue ( 'Greenvalue' );
selectByVisibleText:
Seleziona selectByVisibleText = nuovo Selezionare ( conducente .findElement (By.id ( 'SelectID_Two' )));
selectByVisibleText.selectByVisibleText ( 'Lime' );
selectByIndex:
Seleziona selectByIndex = nuovo Selezionare( conducente .findElement (By.id ( 'SelectID_Three' )));
selectByIndex.selectByIndex (2);
D # 25) Quali sono i diversi tipi di comandi di navigazione?
Di seguito sono riportati i file comandi di navigazione :
navigare (). indietro () - Il comando precedente non richiede parametri e riporta l'utente alla pagina web precedente nella cronologia del browser web.
Codice di esempio:
driver.navigate (). back ();
navigare (). avanti () - Questo comando consente all'utente di navigare alla pagina web successiva con riferimento alla cronologia del browser.
Codice di esempio:
driver.navigate (). forward ();
navigate (). refresh () - Questo comando consente all'utente di aggiornare la pagina web corrente lì ricaricando tutti gli elementi web.
Codice di esempio:
driver.navigate (). refresh ();
navigare verso() - Questo comando consente all'utente di avviare una nuova finestra del browser Web e di accedere all'URL specificato.
Codice di esempio:
driver.navigate (). to ('https://google.com');
Q # 26) Come fare clic su un collegamento ipertestuale utilizzando linkText?
conducente .findElement (By.linkText ( 'Google' )).clic();
Il comando trova l'elemento utilizzando il testo del collegamento e quindi fare clic su quell'elemento e quindi l'utente verrà reindirizzato alla pagina corrispondente.
È possibile accedere al collegamento suddetto anche utilizzando il seguente comando.
conducente .findElement (By.partialLinkText ( 'Gelatina' )).clic();
Il comando precedente trova l'elemento in base alla sottostringa del collegamento fornito tra parentesi e quindi partialLinkText () trova l'elemento web con la sottostringa specificata e quindi fa clic su di esso.
Q # 27) Come gestire il telaio in WebDriver ?
Un acronimo inline frame come iframe viene utilizzato per inserire un altro documento all'interno del documento HTML corrente o semplicemente una pagina web in una pagina web abilitando la nidificazione.
Seleziona iframe per ID
conducente .switchTo (). frame ( ' ID del telaio ' );
Individuazione dell'iframe utilizzando tagName
driver.switchTo (). frame (driver.findElements (By.tagName ('iframe'). get (0));
Individuazione dell'iframe utilizzando index
frame (indice)
driver.switchTo (). frame (0);
frame (nome del frame)
driver.switchTo (). frame ('nome del frame');
frame (elemento WebElement)
Seleziona Finestra principale
driver.switchTo (). defaultContent ();
D # 28) Quando usiamo findElement () e findElements ()?
findElement (): findElement () viene utilizzato per trovare il primo elemento nella pagina Web corrente corrispondente al valore del localizzatore specificato. Tieni presente che verrà recuperato solo il primo elemento corrispondente.
Sintassi:
Elemento WebElement = conducente .findElements (By.xpath ( '// div (@ id = 'example') // ul // li' ));
findElements (): findElements () viene utilizzato per trovare tutti gli elementi nella pagina web corrente che corrispondono al valore del localizzatore specificato. Prendi nota che tutti gli elementi corrispondenti verrebbero recuperati e memorizzati nell'elenco di WebElement.
Sintassi:
List elementList = conducente .findElements (By.xpath ( '// div (@ id = 'example') // ul // li' ));
Q # 29) Come trovare più di un elemento web nell'elenco?
A volte, possiamo imbatterci in elementi dello stesso tipo come più collegamenti ipertestuali, immagini ecc. Disposti in un elenco ordinato o non ordinato. Pertanto, ha assolutamente senso trattare tali elementi con un singolo pezzo di codice e questo può essere fatto utilizzando WebElement List.
Codice di esempio
// 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 D # 30) Qual è la differenza tra il comando driver.close () e il comando driver.quit?
vicino() : Il metodo close () di WebDriver chiude la finestra del browser web su cui l'utente sta attualmente lavorando o possiamo anche dire la finestra a cui il WebDriver accede attualmente. Il comando non richiede alcun parametro né restituisce alcun valore.
smettere() : A differenza del metodo close (), il metodo quit () chiude tutte le finestre che il programma ha aperto. Come per il metodo close (), il comando non richiede alcun parametro né restituisce alcun valore.
D # 31) Selenium può gestire i pop-up basati su finestre?
Selenium è uno strumento di test di automazione che supporta solo il test di applicazioni web. Pertanto, le finestre popup non possono essere gestite utilizzando Selenium.
D # 32) Come possiamo gestire i pop-up basati sul web?
WebDriver offre agli utenti un modo molto efficiente per gestire questi pop-up utilizzando l'interfaccia di avviso . Ci sono i quattro metodi che utilizzeremmo insieme all'interfaccia di avviso.
- void dismiss () - Il metodo dismiss () fa clic sul pulsante 'Annulla' non appena viene visualizzata la finestra a comparsa.
- void accept () - Il metodo accept () fa clic sul pulsante 'Ok' non appena viene visualizzata la finestra a comparsa.
- String getText () - Il metodo getText () restituisce il testo visualizzato nella casella di avviso.
- void sendKeys (String stringToSend) - Il metodo sendKeys () inserisce lo schema di stringa specificato nella casella di avviso.
Sintassi:
// accetta l'avviso di javascript
Alert alert = driver.switchTo (). Alert ();
alert.accept ();
D # 33) Come possiamo gestire i pop-up basati su Windows?
Selenium è uno strumento di test di automazione che supporta solo il test di applicazioni web, il che significa che non supporta il test di applicazioni basate su Windows. Tuttavia il selenio da solo non può aiutare la situazione, ma insieme a qualche intervento di terze parti, questo problema può essere superato. Sono disponibili diversi strumenti di terze parti per la gestione di popup basati su finestre insieme al selenio come AutoIT, classe Robot ecc.
Q # 34) Come affermare il titolo della pagina web?
// verifica il titolo della pagina web
assertTrue ('Il titolo della finestra non è corretto.', driver.getTitle (). equals ('Titolo della pagina'));
D # 35) Come passare il mouse su un elemento web utilizzando WebDriver?
WebDriver offre un'ampia gamma di utilità di interazione che l'utente può sfruttare per automatizzare gli eventi del mouse e della tastiera. Action Interface è una di queste utility che simula le interazioni del singolo utente.
Pertanto, nel seguente scenario, abbiamo utilizzato Action Interface per passare il mouse su un menu a discesa che quindi apre un elenco di opzioni.
Codice di esempio:
// 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();
Q # 36) Come recuperare le proprietà CSS di un elemento?
I valori delle proprietà css possono essere recuperati utilizzando un metodo get ():
Sintassi:
driver.findElement (By.id ( 'Id ')). GetCssValue ( 'Nome dell'attributo css' );
driver.findElement (By.id ( 'Id ')). GetCssValue ( 'dimensione del font' );
Q # 37) Come acquisire screenshot in WebDriver?
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) Cos'è Junit?
Junit è un framework di unit test introdotto da Apache. Junit è basato su Java.
D # 39) Cosa sono le annotazioni Junit?
Di seguito sono riportate le annotazioni di JUnit:
- @Test: L'annotazione consente al sistema di sapere che il metodo annotato come @Test è un metodo di prova. Possono esserci più metodi di test in un singolo script di test.
- @Prima: Il metodo annotato come @Before fa sapere al sistema che questo metodo deve essere eseguito ogni volta prima di ciascuno dei metodi di prova.
- @Dopo: Il metodo annotato come @After fa sapere al sistema che questo metodo deve essere eseguito ogni volta dopo ogni metodo di prova.
- @Prima della lezione: Il metodo annotato come @BeforeClass fa sapere al sistema che questo metodo deve essere eseguito una volta prima di qualsiasi metodo di test.
- @Dopo la lezione: Il metodo annotato come @AfterClass consente al sistema di sapere che questo metodo deve essere eseguito una volta dopo uno qualsiasi dei metodi di test.
- @Ignorare: Il metodo annotato come @Ignore fa sapere al sistema che questo metodo non deve essere eseguito.
Q # 40) Cos'è TestNG e come è meglio di Junit?
la migliore app spia per cellulari
TestNG è un framework avanzato progettato in modo da sfruttare i vantaggi sia degli sviluppatori che dei tester. Con l'inizio dei framework, JUnit ha guadagnato un'enorme popolarità tra le applicazioni Java, gli sviluppatori Java e i tester Java, aumentando notevolmente la qualità del codice. Nonostante sia facile da usare e diretto, JUnit ha i suoi limiti che danno luogo alla necessità di portare TestNG nel quadro. TestNG è un framework open source distribuito sotto la licenza software Apache ed è immediatamente disponibile per il download.
TestNG con WebDriver fornisce un formato dei risultati dei test efficiente ed efficace che può, a sua volta, essere condiviso con le parti interessate per avere un'idea dello stato di salute del prodotto / dell'applicazione, eliminando così l'inconveniente dell'incapacità di WebDriver di generare rapporti di prova. TestNG ha un meccanismo integrato di gestione delle eccezioni che consente al programma di essere eseguito senza terminare in modo imprevisto.
Ci sono vari vantaggi che rendono TestNG superiore a JUnit. Alcuni di loro sono:
- Aggiunte annotazioni avanzate e facili
- È possibile impostare modelli di esecuzione
- Esecuzione simultanea di script di test
- È possibile impostare le dipendenze dello scenario di test
Q # 41) Come impostare la priorità del test case in TestNG?
Impostazione della priorità in TestNG
Snippet di codice
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() { } }
Sequenza di esecuzione del test:
- Metodo 1
- Metodo 2
- Metodo 3
Q # 42) Cos'è un framework?
Il framework è una miscela costruttiva di varie linee guida, standard di codifica, concetti, processi, pratiche, gerarchie di progetto, modularità, meccanismo di reporting, iniezioni di dati di test ecc.
Q # 43) Quali sono i vantaggi del framework di automazione?
Il vantaggio di Framework di automazione del test
- Riusabilità del codice
- Massima copertura
- Scenario di recupero
- Manutenzione a basso costo
- Minimo intervento manuale
- Segnalazione facile
D # 44) Quali sono i diversi tipi di framework?
Di seguito sono riportati i diversi tipi di framework:
- Framework di test basato su moduli: Il framework divide l'intera 'Application Under Test' nel numero di moduli logici e isolati. Per ogni modulo, creiamo uno script di test separato e indipendente. Quindi, quando questi script di test sono stati presi insieme, crea uno script di test più grande che rappresenta più di un modulo.
- Framework di test dell'architettura della libreria: La base fondamentale dietro il framework è determinare i passaggi comuni e raggrupparli in funzioni sotto una libreria e chiamare quelle funzioni negli script di test ogni volta che è necessario.
- Data Driven Testing Framework: Data Driven Testing Framework aiuta l'utente a separare la logica dello script di test e i dati di test l'uno dall'altro. Consente all'utente di memorizzare i dati del test in un database esterno. I dati sono convenzionalmente archiviati in coppie 'chiave-valore'. Pertanto, la chiave può essere utilizzata per accedere e popolare i dati all'interno degli script di test.
- Framework di test basato su parole chiave: Il framework di test basato sulle parole chiave è un'estensione del framework di test basato sui dati nel senso che non solo separa i dati di test dagli script, ma conserva anche il determinato set di codice appartenente allo script di test in un file di dati esterno.
- Framework di test ibrido: Hybrid Testing Framework è una combinazione di più di un framework sopra menzionato. La cosa migliore di una tale configurazione è che sfrutta i vantaggi di tutti i tipi di framework associati.
- Framework di sviluppo guidato dal comportamento: Il framework Behavior Driven Development consente l'automazione delle convalide funzionali in un formato facilmente leggibile e comprensibile per analisti aziendali, sviluppatori, tester, ecc.
Q # 45) Come posso leggere i dati dei test da Excel?
I dati dei test possono essere letti in modo efficiente da Excel utilizzando JXL o POI API. Guarda il tutorial dettagliato qui .
Q # 46) Qual è la differenza tra POI e jxl jar?
# Barattolo JXL Barattolo POI 1 JXL supporta il formato '.xls', ovvero il formato basato su binario. JXL non supporta Excel 2007 e il formato '.xlsx', ovvero il formato basato su XML Il vaso POI supporta tutti questi formati Due L'API JXL è stata aggiornata l'ultima volta nell'anno 2009 Il POI viene aggiornato e rilasciato regolarmente 3 La documentazione di JXL non è completa come quella di POI POI ha una documentazione ben preparata e altamente completa 4 L'API JXL non supporta la formattazione RTF L'API POI supporta la formattazione RTF 5 L'API JXL è più veloce dell'API POI L'API POI è più lenta dell'API JXL
Q # 47) Qual è la differenza tra selenio e QTP?
Caratteristica Selenio Quick Test Professional (QTP) Compatibilità del browser Selenium supporta quasi tutti i browser più diffusi come Firefox, Chrome, Safari, Internet Explorer, Opera ecc QTP supporta Internet Explorer, Firefox e Chrome. QTP supporta solo il sistema operativo Windows Distribuzione Il selenio è distribuito come strumento open source ed è disponibile gratuitamente QTP è distribuito come strumento con licenza ed è commercializzato Applicazione in prova Selenium supporta il test delle sole applicazioni basate sul web QTP supporta il test sia dell'applicazione basata sul web che dell'applicazione basata su Windows Repository di oggetti Il repository degli oggetti deve essere creato come entità separata QTP crea e mantiene automaticamente l'archivio oggetti Supporto linguistico Selenium supporta più linguaggi di programmazione come Java, C #, Ruby, Python, Perl ecc QTP supporta solo VB Script Supporto del venditore Poiché Selenium è uno strumento gratuito, l'utente non otterrebbe il supporto del fornitore per la risoluzione dei problemi Gli utenti possono ottenere facilmente il supporto del fornitore in caso di problemi
D # 48) WebDriver può testare le applicazioni mobili?
WebDriver non può testare le applicazioni mobili. WebDriver è uno strumento di test basato sul Web, quindi è possibile testare le applicazioni sui browser mobili.
D # 49) Il captcha può essere automatizzato?
No, il captcha e il lettore di codici a barre non possono essere automatizzati.
D # 50) Cos'è il repository di oggetti? Come possiamo creare un archivio di oggetti in Selenium?
Object Repository è un termine usato per fare riferimento alla raccolta di elementi web appartenenti ad Application Under Test (AUT) insieme ai loro valori di localizzazione. Pertanto, ogni volta che l'elemento è richiesto all'interno dello script, il valore del localizzatore può essere popolato dall'Object Repository. Object Repository viene utilizzato per memorizzare i localizzatori in una posizione centralizzata invece di codificarli come hardcoded negli script.
In Selenium, gli oggetti possono essere memorizzati in un foglio Excel che può essere popolato all'interno dello script quando richiesto.
È tutto per ora.
Spero che in questo articolo troverai le risposte alle domande più frequenti su Selenium e WebDriver Interview. Le risposte fornite qui sono utili anche per comprendere le basi del selenio e gli argomenti avanzati di WebDriver.
Hai delle domande per l'intervista al selenio che non trovano risposta qui? Fatecelo sapere nei commenti qui sotto e proveremo a rispondere a tutti.
=> Questo conclude non solo questo articolo, ma la nostra serie completa di formazione sul selenio. Controlla l'elenco di TUTTI i 30+ tutorial elencati in questa pagina . Fateci sapere i vostri commenti e domande.
Lettura consigliata
- Domande e risposte dell'intervista
- Domande dell'intervista a Spock con risposte (le più popolari)
- Domande e risposte al colloquio di prova ETL
- Esercitazione sul selenio di cetriolo: integrazione con WebDriver di selenio Java di cetriolo
- Domande frequenti sul selenio
- Integrazione del selenio con JMeter
- Introduzione a Selenium WebDriver - Selenium Tutorial # 8
- Le 50 domande e risposte dell'intervista CCNA più popolari