Il test è una fase cruciale nel ciclo di vita dello sviluppo software (SDLC). Il test manuale, in particolare, prevede l’esecuzione fisica di casi di test contro le applicazioni per rilevare bug ed errori. Tuttavia, i test manuali hanno posto molte sfide e un metodo per automatizzare il processo di test era richiesto. Di conseguenza, è stato introdotto il Selenio, un potente strumento di test automatizzato.,
Selenium è uno strumento di test automatico open source utilizzato per testare le applicazioni Web su vari browser. Quindi, ecco la parte triste, il selenio può testare solo le applicazioni web. Le app desktop e mobili non possono essere testate utilizzando Selenium. Tuttavia, altri strumenti, come HP QTP e Appium, tra gli altri, possono essere utilizzati per testare software e applicazioni mobili.
Distinguiti dai tuoi coetanei in questa stagione di valutazione
Inizia ad imparare con i nostri corsi gratuitiiscriviti ora
Ma cosa rende il Selenio lo strumento di test ampiamente utilizzato?, Ecco alcuni motivi:
- Il selenio è facile da usare poiché è essenzialmente sviluppato in JavaScript.
- Selenium può testare le applicazioni web contro browser come Firefox, Opera, Chrome e Safari, per citarne alcuni.
- Il codice di test può essere scritto in vari linguaggi di programmazione come Java, Perl, Python e PHP.
- Selenium è indipendente dalla piattaforma e può essere distribuito su diversi sistemi operativi come Windows, Linux e Macintosh.
- Il selenio può essere integrato con strumenti di terze parti come JUnit e TestNG per la gestione dei test.,
Se siete tutti orientati per un colloquio di selenio, qui ci sono i primi 30 domande frequenti intervista.
Domande per l’intervista al selenio di livello principiante
Quali sono i componenti della suite Selenium?
Selenium IDE
Si tratta di un Firefox / Chrome plug-in che è stato sviluppato per accelerare la creazione di script di automazione. Registra le azioni dell’utente sul browser Web e le esporta come script riutilizzabile.
Selenium Remote Control (RC)
RC è un server che consente agli utenti di scrivere test applicativi in vari linguaggi di programmazione., I comandi dello script di test sono accettati da questo server e vengono inviati al browser come comandi JavaScript Selenium core. Il browser si comporta quindi di conseguenza.
Selenium WebDriver
WebDriver è un’interfaccia di programmazione che aiuta a creare ed eseguire casi di test. Esso prevede di agire su elementi web. A differenza di RC, WebDriver non richiede un server aggiuntivo e interagisce nativamente con le applicazioni del browser.
Selenium Grid
La griglia è stata progettata per distribuire comandi a macchine diverse contemporaneamente., Consente l’esecuzione parallela di test su diversi browser e diversi sistemi operativi. È eccezionalmente flessibile ed è integrato con altri componenti della suite per l’esecuzione simultanea.
Quali sono i limiti del test del selenio?
- Indisponibilità di supporto tecnico affidabile: poiché Selenium è uno strumento open-source, non dispone di supporto tecnico dedicato per risolvere le query degli utenti.
- Verifica solo le applicazioni web: Selenium deve essere integrato con strumenti di terze parti come Appium e TestNG per testare applicazioni desktop e mobili.,
- Supporto limitato per il test delle immagini.
- Nessuna funzione di reporting e gestione dei test integrata: il selenio deve essere integrato con strumenti come TestNG o JUnit, tra gli altri, per facilitare la segnalazione e la gestione dei test.
- Può richiedere la conoscenza dei linguaggi di programmazione: Selenium WebDriver si aspetta che l’utente abbia alcune conoscenze di base sulla programmazione.
Quali sono i tipi di test supportati da Selenium?
Il selenio supporta test di regressione e test funzionali.,
Test di regressione: si tratta di una selezione completa o parziale di casi di test già eseguiti che vengono rieseguiti per garantire che le funzionalità esistenti funzionino correttamente.
I passaggi coinvolti sono –
- Re-testing: vengono eseguiti tutti i test nella suite di test esistente. Dimostra di essere molto costoso e richiede tempo.
- Selezione del test di regressione: i test sono classificati come test di funzionalità, test di integrazione e test end to end. In questo passaggio, vengono selezionati alcuni dei test.,
- Priorità dei casi di test: i casi di test selezionati sono prioritari in base all’impatto aziendale e alle funzionalità critiche.
Test funzionali – Il test funzionale prevede la verifica di ogni funzione dell’applicazione con le specifiche richieste.
I seguenti sono i passaggi coinvolti:
- Identificare l’input del test
- Calcolare il risultato del test
- Eseguire il test
- Confrontare il risultato del test con il risultato effettivo
Qual è la differenza tra Selenium 2.0 e Selenium 3.0?
Selenio 2.,0 è uno strumento che semplifica lo sviluppo di test automatizzati per applicazioni web. Rappresenta la fusione del progetto Selenium originale con il progetto WebDriver. Selenium RC è stato deprecato poiché l’unione, tuttavia, è stata utilizzata per la compatibilità con le versioni precedenti
Selenium 3.0 è la versione estesa di Selenium 2.0. È intrinsecamente retrocompatibile e non comporta Selenio RC. La nuova versione è arrivata con diverse correzioni di bug e una maggiore stabilità.,
Che cos’è la politica di origine identica e come viene gestita?
La stessa politica di origine è una funzionalità adottata per motivi di sicurezza. Secondo questa politica, un browser Web consente agli script di una pagina Web di accedere ai contenuti di un’altra pagina Web a condizione che entrambe le pagine abbiano la stessa origine. L’origine si riferisce a una combinazione dello schema URL, del nome host e del numero di porta.
Lo stesso criterio di origine impedisce a uno script dannoso su una pagina di accedere a dati sensibili su un’altra pagina Web.,
Considera un programma JavaScript usato da google.com. Questa applicazione di test può accedere a tutte le pagine di dominio di Google come google.com/login, google.com/mail, ecc. Tuttavia, non può accedere a pagine da altri domini come yahoo.com
Selenium RC è stato introdotto per risolvere questo problema. Il server agisce come un proxy HTTP configurato dal client e” inganna ” il browser facendogli credere che Selenium Core e l’applicazione Web in fase di test provengano dalla stessa origine.,
Full Stack Java Developer Course
Il gateway per padroneggiare lo sviluppo Webexplore Course
Che cos’è Selenese? Come è classificato?
Selenese è l’insieme di comandi Selenium che vengono utilizzati per testare l’applicazione web. Il tester può testare i collegamenti interrotti, l’esistenza di alcuni oggetti sull’interfaccia utente, la funzionalità Ajax, gli avvisi, la finestra, le opzioni dell’elenco e molto altro usando Selenese.,
Azione: i Comandi che interagiscono direttamente con l’applicazione
funzioni di accesso: consente all’utente di memorizzare alcuni valori di una variabile definita dall’utente
Affermazioni: Verifica lo stato corrente dell’applicazione con una prognosi di stato
Citare i tipi di Web localizzatori.
Locator è un comando che indica Selenium IDE su quali elementi GUI ( ad esempio Casella di testo, pulsanti, caselle di controllo, ecc.) I localizzatori specificano l’area di azione.,
Locator by ID: Prende un parametro string che è un valore dell’attributo ID che restituisce l’oggetto al metodo findElement ().
driver. findElement(By.id (”utente”));
Localizzatore dal link: se il tuo elemento mirato è un testo di collegamento, puoi usare il by.linkText locator per individuare quell’elemento.
driver.findElement(Di.linkText (”Offerte di oggi”)).click ();
Locator by Partial link: il collegamento di destinazione può essere localizzato utilizzando una porzione di testo in un elemento di testo di collegamento.
driver.findElement(Di.linkText (”Servizio”)).,click ();
Locator by Name: verrà restituito il primo elemento con il valore dell’attributo name corrispondente alla posizione.
driver. findElement(By.name (”libri”). click ());
Locator di TagName: Individua tutti gli elementi con il nome del tag corrispondente
driver.findElement(Di.tagName (”pulsante”).click ());
Locator by classname: trova gli elementi in base al valore dell’attributo CLASS. Se un elemento ha molte classi, questo corrisponderà a ciascuna di esse.
driver.findElement(Di.,className(“inputtext”));
Locator di XPath: prende un parametro di String che è un XPATHEXPRESSION e restituisce un oggetto al metodo findElement ().
driver.findElement(Di.xpath (“//span”)).getText ();
Locator by CSS Selector: individua gli elementi in base al motore di selezione CSS sottostante del driver.
driver. findElement (By. cssSelector (“input # email””). sendKeys (“[email protected]”);
Quali sono i tipi di attesa supportati da WebDriver?,
Attesa implicita – Comandi di attesa implicita Selenium per attendere un certo periodo di tempo prima di lanciare un’eccezione “No such element”.
driver.gestire().timeout().implicitlyWait(TimeOut, TimeUnit.SECONDI);
Explicit wait-Explicit wait viene utilizzato per dire al Driver Web di attendere determinate condizioni prima di lanciare un’eccezione “ElementNotVisibleException”.,
WebDriverWait wait = new WebDriverWait(WebDriver Reference, TimeOut);
Fluent wait – È usato per dire al driver web di attendere una condizione, così come la frequenza con cui vogliamo controllare la condizione prima di lanciare un’eccezione “ElementNotVisibleException”.
Menzionare i tipi di comandi di navigazione
driver.navigate().to (“https://www.ebay.in/”); – Naviga verso l’URL fornito
driver.navigare().refresh (); – Questo metodo aggiorna la pagina corrente
driver.navigare().,forward (); – Questo metodo esegue la stessa operazione facendo clic sul pulsante Avanti di qualsiasi browser. Non accetta né restituisce nulla.
driver.navigare().back (); – Questo metodo esegue la stessa operazione facendo clic sul pulsante Indietro di qualsiasi browser. Non accetta né restituisce nulla.
Qual è la principale differenza tra driver.chiudi () e driver.quit ()?
driver.close()
Questo comando chiude la finestra corrente del browser. Se sono aperte più finestre, la finestra di messa a fuoco corrente verrà chiusa.
driver.,quit ()
Quando quit () viene chiamato sull’istanza del driver e sono aperte una o più finestre del browser, chiude tutte le finestre del browser aperte.
Domande Intermediate Level Selenium Interview
Come digitare il testo in una casella di input usando Selenium?
sendKeys() è il metodo utilizzato per digitare il testo nelle caselle di testo
si Consideri il seguente esempio –
WebElement email = driver.findElement(Da.id(“email”)); – Trova la “e-mail” testo utilizzando l’ID locator
e-mail.sendKeys(“[email protected]”); – Inserisce il testo nel campo URL
WebElement password = driver.,findElement(By.id (”Password”)); – Trova il testo “password” utilizzando il localizzatore ID
password.sendKeys (”abcdefgh123″); – Inserisce il testo nel campo della password
Come fare clic su un collegamento ipertestuale in Selenio?
driver.findElement(Di.linkText (”Offerte di oggi”)).click ();
Il comando trova l’elemento usando il testo del collegamento e quindi fa clic su quell’elemento, dove dopo l’utente verrà reindirizzato alla pagina corrispondente.
driver.findElement(Di.partialLinkText (”Servizio”)).,click ();
Il comando precedente trova l’elemento in base alla sottostringa del collegamento fornito tra parentesi e quindi partialLinkText() trova l’elemento web.
Come scorrere una pagina usando JavaScript?
Metodo scrollBy() viene utilizzato per scorrere verso il basso la pagina web
Sintassi generale:
executeScript(“window.scrollBy (x-pixels,y-pixels)”);
In primo luogo, creare un oggetto JavaScript
JavascriptExecutor js = (JavascriptExecutor) driver;
Avviare l’applicazione desiderata
driver.,get(“https://www.amazon.com”);
Scorri verso il basso fino alla posizione desiderata
js.executeScript (“finestra.scrollBy(0,1000)”);
La finestra non viene fatta scorrere verticalmente di 1000 pixel
Come affermare il titolo di una pagina web?
Ottieni il titolo della pagina web e archivia in una variabile
String actualTitle = driver.getTitle ();
Digitare il titolo atteso
String expectedTitle = “abcdefgh”;
Verificare se entrambi sono uguali
if (actualTitle.equalsIgnoreCase (expectedTitle))
Sistema.fuori.println (“Title Matched”);
altro
Sistema.fuori.,println (“Title didn’t match”);
In alternativa,
Assert.assertEquals (actualTitle, expectedTitle);
Come passare il mouse su un elemento web?
Utility classe azioni viene utilizzato per passare il mouse su un elemento web in Selenium WebDriver
Istanziare classe azioni.
Actions action = new Actions (driver);
In questo scenario, passiamo il mouse sopra la casella di ricerca di un sito web
actions. moveToElement(driver.findElement (By.id (“id della casella di ricerca”))).,perform ();
Padroneggia importanti concetti di test come TestNG, Selenium IDE, Selenium Grid, Selenium WebDriver. Scopri la formazione di certificazione selenio. Iscriviti ora!
Come recuperare le proprietà CSS di un elemento?
getCssValue() è il metodo utilizzato per recuperare le proprietà CSS di qualsiasi elemento web
Sintassi:
driver.findElement(Da.id(“id”)).getCssValue(“nome di attributo css”);
Esempio:
driver.findElement(Da.id(“email”)).getCssValue”font-size”);
Quello che è il POM (Pagina Object Model)?,
Ogni pagina web dell’applicazione ha una classe di pagina corrispondente che è responsabile dell’individuazione degli elementi Web e dell’esecuzione di azioni su di essi. Page Object Model è un modello di progettazione che aiuta a creare repository di oggetti per gli elementi Web. POM migliora la riusabilità e la leggibilità del codice. È possibile eseguire più casi di test sul repository degli oggetti.
Può essere automatizzato?
No, il selenio non può automatizzare ., Bene, l’intero concetto di è quello di garantire che bot e programmi automatizzati non accedano a informazioni sensibili, motivo per cui Selenium non può automatizzarlo. L’automation test engineer deve digitare manualmente il mentre altri campi possono essere riempiti automaticamente.
In che modo Selenium gestisce i pop-up basati su Windows?
Selenium è stato progettato per gestire applicazioni web. Le funzionalità basate su Windows non sono supportate nativamente da Selenium. Tuttavia, strumenti di terze parti come AutoIt, Robot, ecc possono essere integrati con Selenium per gestire i pop-up e altre funzionalità basate su Windows.,
Come prendere screenshot in WebDriver?
TakeScreenshot interfaccia può essere utilizzato per prendere screenshot in WebDriver.
getScreenshotAs() metodo può essere utilizzato per salvare lo screenshot
File scrFile = ((TakeScreenshot)driver).getScreenshotAs(outputType.FILE);
Domande di intervista Selenium di livello avanzato
C’è un modo per digitare una casella di testo senza usare sendKeys ()?
Sì! Il testo può essere inserito in una casella di testo utilizzando JavaScriptExecutor
JavascriptExecutor jse = (JavascriptExecutor) driver;
jse.executeScript (“documento.getElementById (‘email’).,valore=”[email protected]”);
Come selezionare un valore da un menu a discesa in Selenium WebDriver?
Select class in WebDriver viene utilizzato per selezionare e deselezionare le opzioni in un menu a discesa.
Gli oggetti di tipo Select possono essere inizializzati passando il webElement a discesa come parametro al suo costruttore.
WebElement testDrop = driver.findElement(Da.id”testingDropdown”));
Selezionare l’elenco a discesa = Seleziona(testDrop);
WebDriver offre tre modi per selezionare da un elenco a discesa:
selectByIndex: Selezione basata sull’indice a partire da 0
a discesa.,selectByIndex (5);
selectByValue: Selezione basata sul valore
menu a discesa.selectByValue (“Books”);
selectByVisibleText: Selezione dell’opzione che visualizza il testo corrispondente all’argomento specificato
menu a discesa.selectByVisibleText (“L’alchimista”);
Cosa fa il comando switchTo ()?
comando switchTo() viene utilizzato per passare da finestre, cornici o pop-up all’interno dell’applicazione. Ogni finestra istanziata dal WebDriver riceve un valore alfanumerico univoco chiamato “Maniglia della finestra”.,
Ottieni la maniglia della finestra della finestra che desideri passare a
String handle= driver.getWindowHandle ();
Passare alla finestra desiderata
driver.switchTo().window (handle);
In alternativa
per (String handle = driver.Per maggiori informazioni clicca qui.switchTo().window (handle);}
Come caricare un file in Selenium WebDriver?
È possibile ottenere questo risultato utilizzando sendkeys () o metodo di classe Robot. Individuare la casella di testo e impostare il percorso del file utilizzando sendkeys () e fare clic sul pulsante invia
Individuare il pulsante sfoglia
WebElement browse =driver.,findElement(By.id (“uploadfile”));
Passa il percorso del file da caricare usando il metodo sendKeys
sfoglia.sendKeys(“D:\\SeleniumInterview\\UploadFile.txt”);
Come impostare la dimensione della finestra del browser in Selenium?
La dimensione della finestra può essere ingrandita, impostata o ridimensionata
Per massimizzare il driver della finestra
.gestire().finestra().maximize ();
Per impostare la dimensione della finestra
Dimension d = new Dimension(400.600);
driver.gestire().finestra().setSize (d);
In alternativa,
La dimensione della finestra può essere ripristinata utilizzando JavaScriptExecutor
((JavascriptExecutor) driver).,executeScript (“finestra.resizeTo(1024, 768)”);
Quando usiamo findElement () e findElements ()?
findElement() viene utilizzato per accedere a qualsiasi singolo elemento nella pagina web. Restituisce l’oggetto del primo elemento corrispondente del localizzatore specificato.
Sintassi generale:
WebElement element = driver.findElement(By.id (esempio));
findElements () viene utilizzato per trovare tutti gli elementi nella pagina web corrente corrispondenti al valore di locator specificato. Tutti gli elementi corrispondenti verrebbero recuperati e memorizzati nell’elenco degli elementi Web.,
Sintassi generale:
List< WebElement > elementList = driver.findElements(By.id (esempio));
Che cos’è una pausa su un’eccezione in Selenium IDE?
L’utente può utilizzare questa funzione per gestire le eccezioni facendo clic sull’icona pausa nell’angolo in alto a destra dell’IDE. Quando lo script trova un’eccezione, si ferma a quella particolare istruzione ed entra in una modalità di debug. L’intero caso di test non fallisce e quindi l’utente può correggere immediatamente l’errore.,
Come accedere a qualsiasi sito se mostra un pop-up di autenticazione per nome utente e password?
Per gestire i pop-up di autenticazione, verificarne l’aspetto e quindi gestirli utilizzando un comando di attesa esplicito.
Usa il comando di attesa esplicito
WebDriverWait wait = new WebDriverWait(driver, 10);
La classe Alert viene utilizzata per verificare l’avviso
Alert alert = wait.fino a quando (ExpectedConditions.alertIsPresent ());
Una volta verificato, fornire le credenziali
alert.,authenticateUsing(new UserAndPassword(<username>, <password>));
Qual è la differenza tra barra singola e doppia in Xpath?
La barra singola viene utilizzata per creare Xpath con un percorso assoluto, ovvero l’XPath verrebbe creato per avviare la selezione dal nodo di avvio.
/html/body/div/div/div/a
La barra doppia viene utilizzata per creare Xpath con percorso relativo, ad esempio, XPath verrebbe creato per avviare la selezione da qualsiasi punto all’interno del documento
//div/a
Come si trovano i collegamenti interrotti in Selenium WebDriver?
Quando usiamo driver.metodo get() per navigare verso un URL, risponderà con uno stato di 200-OK
200-OK indica che il collegamento funziona ed è stato ottenuto. Se si ottiene un altro stato, è un’indicazione che il collegamento è interrotto.,
Alcuni dei codici di stato HTTP, sono :
- 200 – Link valido
- 404 – Link Non Trovato
- di 400 Bad Request
- 401 – non autorizzato
- 500 – errore Interno
Come antipasto, ottenere i collegamenti dall’applicazione web e poi singolarmente ottenere il loro status.
Vai alla pagina web interessata per es. www.amazon.com
Raccogliere tutti i link dalla pagina web. Tutti i collegamenti sono associati al Tag ‘ a ‘
List<WebElement > links = driver.findElements(Da.,tagName (“a”));
Crea un elenco di tipo WebElement per memorizzare tutti gli elementi di collegamento in esso contenuti.
per(int i=0; i<collegamenti.dimensione (); i++) {
Elemento WebElement = collegamenti.get (i);
Stringa url=elemento.getAttribute (“href”);
verifyLink(url);}
Ora Creare una connessione utilizzando oggetto URL( cioè., link)
URL link = nuovo URL(urlLink);
Connetti usando il metodo di connessione
HttpURLConnection httpConn =(HttpURLConnection)link.openConnection ();
Usa getResponseCode () per ottenere il codice di risposta
se(httpConn.getResponseCode ()!,= = 200)
Attraverso eccezione, se si è verificato un errore
Sistema.fuori.println (“Broken Link”);
Il tuo prossimo passo verso il successo
Dopo aver esaminato queste domande sull’intervista al Selenio, avresti capito, che tipo di domande possono essere poste e come rispondere.
Abbiamo un esperto del settore che illustra alcuni pezzi di codice mentre spiega come rispondere alle domande. Se desideri intraprendere il tuo viaggio come ingegnere di automazione di test, ecco un corso di certificazione che ti tornerà utile. Scopri corso di formazione Selenio di Simplilearn., Questa formazione è progettata per formare sviluppatori e tester manuali per imparare ad automatizzare le applicazioni Web con un framework robusto e integrarlo all’interno dei processi DevOps di un’organizzazione e aiutarti a padroneggiare concetti importanti come TestNG, Selenium IDE e Selenium Grid.