71 Domande critiche senza risposta nell'intervista al selenio

In questo tutorial sulle domande dell'intervista al selenio, tratteremo tutte le domande critiche sulle domande dell'intervista al selenio insieme alle domande avanzate dell'intervista del framework Selenium Automation.

Domande di intervista sul Selenium Framework

Fai avanzare le domande dell'intervista al selenio

Domande di intervista al selenio intermedio

NOTA : L'obiettivo di questo tutorial Domande e risposte dell'intervista al selenio è discutere il questionario più critico e complesso come potresti già essere a conoscenza dei questionari di base su.

Inizialmente inizieremo con le domande e le risposte dell'intervista Advance Selenium Framework, poi andremo avanti con le domande e le risposte dell'intervista al selenio critico/avanzata e infine finiremo questo tutorial con livelli intermedi in modo che tu possa prepararti bene.

Domande per interviste sul selenio
Domande per interviste sul selenio

Domande di intervista sul Selenium Framework

Domande di intervista avanzate sul selenio

Domande di intervista al selenio intermedio

Domande per l'intervista sul Selenium Framework: 

Quanti tipi popolari di framework Selenium ci sono?

Esistono quattro diversi tipi di framework Selenium, che sono: 

Quanti approcci diversi esistono per progettare il framework Page Object Model?

Cos'è Page Factory nel selenio?

PageFactory è una classe della libreria Selenium da un pacchetto chiamato org.openqa.selenium.support che aiuta a progettare il pattern Page Object Design nel framework Page Object Model, che ha poche implementazioni come:

Qual è la differenza di design chiave tra il modello a oggetti di pagina classico e il modello a oggetti di pagina personalizzato?

Quindi ogni pagina web dovrebbe avere un'interfaccia per memorizzare localizzatori e 1 classe per le operazioni web a livello di pagina e le loro affermazioni di rispetto.

Qual è il principio di progettazione del Page Object Model Framework?

Il principio di progettazione del framework Page Object Model si basa su principi o concetti, che sono: 

Quindi, tutte le azioni della pagina (diverse operazioni della funzionalità della pagina web) risiedono nelle rispettive classi di pagina.

Citare le differenze principali tra il modello a oggetti di pagina e il modello a oggetti di pagina ibrido?

La differenza tra il modello di oggetti di pagina e il modello di oggetti di pagina ibrido è che il modello di oggetti di pagina ibrido si basa sulla progettazione del framework del modello di oggetti di pagina insieme alle funzionalità estese del framework basato sui dati e supporta un'ampia varietà di utilità per le operazioni sui dati come di seguito : 

Qual è il linguaggio Parser utilizzato nel framework Cucumber -BDD?

Il parser del linguaggio utilizzato nel framework Cucumber -BDD è Gherkin.

Qual è la lingua Gherkin?

Gherkin è DSL (Domain Specific Language) e un linguaggio simile all'inglese, che è molto leggibile e comprensibile (ad esempio, give (), quando (), quindi (), ecc.)

Cosa intendi con given () in Gherkin?

 Il metodo Given () afferma che una certa situazione o scenario è dato o dichiarato.

 Cosa intendi con quando () in Gherkin?

Quando () significa quando si eseguono alcune operazioni.

Cosa intendi con () in Gherkin?

then () viene utilizzato come asserzioni dopo che le operazioni sono state eseguite da given (). when ().

Quale strumento CI usi come parte del framework?

Usiamo Jenkins (principalmente) come strumento CI open source.

Quale strumento di compilazione usi come parte del framework?

Usiamo strumenti di compilazione come Maven / Gradle / ant (era usato in precedenza).

Qual è la differenza fondamentale tra maven e Gradle?

Gradle è la versione avanzata di ciò che esegue Maven e, oltre a ciò, possiamo anche creare attività (come la funzionalità disponibile in ANT), quindi possiamo considerare ad alto livello: 

Gradle = >> Maven + Ant 

Come parte di Selenium C #, utilizziamo Gallio come strumento di compilazione. 

Qual è il framework di Unit Test che usiamo come parte del framework Selenium Automation?

Usiamo principalmente TestNG / JUnit (JUnit è meno utilizzato al giorno d'oggi) come parte del framework di unit test durante la creazione del framework di automazione con Selenium. 

Come parte del framework Selenium C #, usiamo NUnit / MbUnit come framework di unit test.

Quale approccio può essere preso in considerazione durante la progettazione degli strumenti di reporting come parte del framework Selenium?

Esistono vari approcci di reporting che potremmo adottare durante la progettazione del framework:

Oltre a questa integrazione di strumenti di reporting open source, possiamo anche optare per alcune funzionalità di reporting avanzate o dashboard da costruire con le tecnologie e gli strumenti seguenti:

Come si utilizza ELK per creare la dashboard dei rapporti con Selenium Framework:

Esiste un principio di progettazione di base di base che viene utilizzato per progettare il dashboard di automazione, che sono: 

Come si crea un report HTML personalizzato?

È possibile utilizzare diversi listener e interfacce di reporter forniti da TestNg per registrare gli eventi e i rispettivi set di dati e creare HTML utilizzando tali set di dati e i tag HTML nelle utilità del report.

Quali sono le sfide che hai dovuto affrontare durante lo sviluppo di un framework?

Ci sono diverse sfide che puoi menzionare in base alla tua esperienza durante lo sviluppo del framework, ad esempio: 

Indica quali sono tutti i componenti Selenium che hai usato nel tuo Selenium Framework?

Puoi menzionare a seconda del tuo framework.

Qual è il flusso del tuo framework di automazione?

Puoi menzionare il flusso di esecuzione del tuo framework a seconda del flusso del tuo Framework e degli strumenti che hai usato; di seguito è riportato un esempio che puoi citare:

CI (Jenkins) → Strumenti di costruzione (Maven /Gradle) → Unit Test Framework (TestNg) → TestNg.xml - >> TestClasses → BaseTest (Ogni classe di test estende la classe Base come baseTest dove esce @beforeClass / @ BeforeSuite @afterClass ecc.) -> TestMethods → PageClasses → Page Methods → WebUtilities ( classe riutilizzabile per le utilità WebAction) - >> Reporting Utils 

Cosa comprendi per framework basato sui dati e dove utilizziamo un framework basato sui dati?

Un framework basato sui dati è fondamentalmente un framework guidato dai dati. Detto questo, in cui l'applicazione o il tipo di applicazione in cui gli stessi casi o scenari di test vengono eseguiti più volte con i diversi set di dati o l'origine o i dati è molto vasto come nel caso in cui dobbiamo interagire con una varietà di Fonti di dati lì utilizziamo framework basato sui dati. 

La diversa origine dati può essere: 

Come spiegare il framework di automazione del selenio in un'intervista?

 Ci sono diversi approcci che puoi adottare per spiegare il framework di automazione del selenio in un'intervista; il miglior approccio possibile potrebbe essere l'approccio modulare, che consiste nel suddividere la spiegazione in diversi moduli separati, come ad esempio:

Discutiamo in dettaglio: 

Tipo di Framework e caratteristiche chiave e uniche del Framework:

È necessario menzionare il tipo di framework come Framework ibrido, framework del modello di oggetti di pagina, framework del modello di oggetti di pagina ibrido, ecc. 

È necessario menzionare le caratteristiche uniche del framework, come ad esempio:

Strumenti e tecnologie utilizzati nel framework Selenium:

Puoi menzionare gli strumenti e le tecnologie utilizzati durante lo sviluppo del framework, come ad esempio:

Il flusso di esecuzione del Selenium Framework:

Puoi menzionare il flusso di esecuzione del framework, cioè come si attivano le suite di test e come fluisce verso i casi / metodi di test e fino a Framework Utils come webutils, data utils, ecc. Puoi fare riferimento alla domanda precedente dove abbiamo discusso come spiegare il flusso di esecuzione del framework Selenium.

Diversi scenari critici gestiti dal tuo framework:

In questo modulo, puoi discutere le funzionalità critiche che sono state automatizzate come parte dell'automazione dell'applicazione con il tuo framework. Ci possono essere molti casi d'uso o funzionalità che puoi menzionare qui, come ad esempio: 

Come progettare scenari di registrazione nel framework Selenium?

Puoi utilizzare log4j per la registrazione oppure puoi utilizzare la registrazione in tempo reale e l'implementazione del dashboard di debug con Graylog, che fondamentalmente utilizza ElasticSearch nel back-end per la registrazione in tempo reale e i dettagli di debug.

Quali sono i design pattern che hai utilizzato durante la progettazione del framework?

È possibile utilizzare diversi modelli di progettazione in base alle esigenze e alla progettazione del framework di automazione, come ad esempio:

Domande per l'intervista al selenio critico o avanzato:

In quanti modi puoi eseguire il tuo script di automazione parallelamente?

Esistono diversi modi e approcci attraverso i quali è possibile eseguire parallelamente gli script di test, ad esempio: 

Esperto di :

Utilizzo del plugin infallibile: 

5

 vero

Qui il conteggio dei fork rappresenta il numero di thread paralleli.

Gradle: 

tasks.withType(Test) {
        maxParallelForks = Runtime.runtime.availableProcessors()
    }

Qual è la differenza tra i metodi setSpeed ​​() e sleep ()?

Il metodo setSpeed ​​() in Selenium imposta fondamentalmente la velocità di esecuzione di ogni azione / comando. 

Quindi supponiamo che se imposti Speed ​​("2000"), ogni riga di esecuzione verrà ritardata di 2000 millisecondi. 

D'altra parte, Thread.sleep () introdurrà un ritardo di 3000 millisecondi (sospenderà il thread per l'operazione specifica). 

Quindi sleep () viene applicato a 1 operazione; d'altra parte, setSpeed ​​() introduce il ritardo per ogni singola operazione e quindi imposta la velocità di esecuzione.  

Come verificare la presenza di una ScrollBar con Selenium? 

Per verificare la barra di scorrimento orizzontale nella pagina Web con Selenium, utilizziamo Javascriptexecutor nel modo seguente: 

JavascriptExecutor javascriptExecutor = (JavascriptExecutor) driver;
Boolean presenceOfHorizontalScroll = (Boolean) javascriptExecutor.executeScript("return document.documentElement.scrollWidth>document.documentElement.clientWidth;");

Per verificare la barra di scorrimento verticale nella pagina Web utilizzando Anche per il webdriver Selenium dobbiamo usare Javascriptexecutor

JavascriptExecutor javascriptExecutor = (JavascriptExecutor) driver;
Boolean presenceOfVerticalScroll  = (Boolean) javascriptExecutor.executeScript("return document.documentElement.scrollHeight>document.documentElement.clientHeight;");

Scrivere il codice per gestire eventuali elementi Web nascosti nel webdriver selenio?

WebElement element=driver.findElement(By.id("id_of_Element"));
JavascriptExecutor jsExecutor = (JavascriptExecutor)driver;
jsExecutor.executeScript("arguments[0].click();", element);

Menzionare diversi approcci per gestire un popup basato su finestre utilizzando il webdriver Selenium?

È possibile utilizzare gli approcci seguenti per gestire applicazioni basate su finestre come finestre popup: 

Qual è l'interfaccia principale di WebDriver?

Contesto di ricerca

Menziona le principali differenze tra POI e JXL Jars?

POI supporta la formattazione condizionale, la formattazione RTF o il formato xlsx, ma d'altra parte JXL non supporta nessuna di queste funzionalità.

La libreria dei POI viene mantenuta e aggiornata rispetto a JXL.

Come gestisci le latenze di rete utilizzando Selenium?

Possiamo usare quanto segue per gestire la latenza di rete utilizzando in Selenium: 

Driver.gestione.tempo.di.caricamento.della.pagina

Quali sono gli approcci che adotteresti per gestire i test dei contenuti Ajax con Selenium WebDriver?

AJAX è fondamentalmente JavaScript e XML asincrono. Tutta la comunicazione dell'Applicazione basata su AJAX è basata su chiamate asincrone, 

che consentono di eseguire qualsiasi evento senza aggiornare la pagina web. Ogni operazione può essere eseguita indipendentemente dagli altri eventi.

Quali sono le sfide durante il lavoro con le chiamate AJAX Driver Web Selenio?

Per lavorare con l'applicazione AJAX, potrebbe essere necessario utilizzare le attese per i casi d'uso sopra menzionati: 

Qual è l'approccio per lavorare con Proxy in Selenium Webdriver?

Esistono due diversi approcci che puoi gestire proxy in Selenium Webdriver: 

Proxy proxy=new Proxy();
proxy.setHttpProxy("localhost:8889");
DesiredCapabilities capabilities=new DesiredCapabilities();
capabilities.setCapability(CapabilityType.PROXY, proxy);
WebDriver driver=new FirefoxDriver(capabilities);

Menzionare i modi per ottenere la sincronizzazione in WebDriver?

Possiamo gestire la sincronizzazione nel webdriver Selenium utilizzando diversi meccanismi di attesa: 

Menzionare le differenze chiave tra TestNg @BeforeTest e @BeforeMethod? 

In TestNg @BeforeTest e @BeoreMethod hanno aspetti diversi, sono:

Elencare i diversi tipi di API WebDriver presenti in Selenium?

In quanti modi puoi ottenere un'esecuzione senza testa con Selenium?

Possiamo utilizzare i driver seguenti per ottenere l'automazione senza testa con Selenium: 

Che cos'è l'attesa fluida in Selenium WebDriver?

Con FluentWait, puoi impostare una quantità massima di tempo (diciamo 3 minuti) di attesa per soddisfare una condizione specifica, e durante quel periodo, eseguirai continuamente sondaggi o controlli con una certa frequenza (unità di tempo molto piccola, diciamo 3 sec) per controllare.

Se la condizione è soddisfatta, restituirà true e, in caso contrario, genererà un'eccezione "ElementNotVisibleException".

La sintassi di fluentwait in Selenium è:

Wait fluentWait = new FluentWait(driver).withTimeout(100, TimeUnit.SECONDS)
  .pollingevery(2, TimeUnit.SECONDS)
  .ignoring(ElementNotVisibleException.class);

Raccontaci alcune eccezioni di Selenium che hai riscontrato lavorando con `Selenium WebDriver?

Come si eliminano i cookie in Selenium?

Il comando per eliminare i cookie in Selenium è: 

driver.manage().deleteAllCookies();

Spiega l'approccio che come leggi la variabile javascript nel webdriver selenio?

Dobbiamo utilizzare JavascriptExecutor per poterlo fare. 

JavascriptExecutor jsExecutor = (JavascriptExecutor) webdriver;
String jsVariable = (String.valueOf(jsExecutor.executeScript("return document.title")));

Come eseguire lo zoom avanti e lo zoom indietro nel browser in selenio?

Possiamo eseguire operazioni di ingrandimento e riduzione in Selenium utilizzando due approcci diversi, come ad esempio: 

Ingrandisci usando la classe Robot in selenio

Robot robotInstance = new Robot();
//Zoom in

robotInstance.keyPress(KeyEvent.VK_CONTROL);
robotInstance.keyPress(KeyEvent.VK_ADD);
robotInstance.keyRelease(KeyEvent.VK_ADD);
robotInstance.keyRelease(KeyEvent.VK_CONTROL);

Zoom indietro usando la classe Robot in selenio


Robot robotInstance = new Robot();
robotInstance.keyPress(KeyEvent.VK_CONTROL);
robotInstance.keyPress(KeyEvent.VK_SUBTRACT);
robotInstance.keyRelease(KeyEvent.VK_SUBTRACT);
robotInstance.keyRelease(KeyEvent.VK_CONTROL);

Ingrandisci usando la classe Keys in selenio

driver.findElement(By.tagName("html")).sendKeys(Keys.chord(Keys.CONTROL,Keys.ADD));

Zoom indietro usando la classe Robot in selenio

driver.findElement(By.tagName("html")).sendKeys(Keys.chord(Keys.CONTROL,Keys.SUBTRACT));

Come cancellare un campo in selenio senza utilizzare un metodo clear ()?

Possiamo cancellare qualsiasi campo senza utilizzare il metodo clear () nell'approccio seguente: 

Possiamo usare la classe Keys in Selenium per ottenere lo stesso risultato: 

WebElement element = driver.findElement(By.id("id_of_Element"));
element.sendKeys(Keys.chord(Keys.CONTROL, "a"));
element.sendKeys(Keys.DELETE);

Come rieseguire i casi di test falliti nel selenio?

Possiamo rieseguire i casi di test falliti in Selenium nei due approcci seguenti:

Con TestNG-failed.xml generato automaticamente:

Dopo l'esecuzione del test (eseguito da testng.xml), TestNG genera automaticamente TestNG-failed.xml; è possibile rieseguire lo stesso XML per eseguire SOLO i test falliti.

Implementando Interfaccia IRetryAnalyzer da testNg :

Implementando l'interfaccia IRetryAnalyzer possiamo rieseguire automaticamente i casi di test falliti con TestNg:


If you implement the IRetryAnalyzer you can auto rerun  failed test with TestNg :

public class Retry implements IRetryAnalyzer {
   int counter = 1;
   int retryMaxLimit = 3;
   public boolean retry(ITestResult result) {
       if (counter < retryMaxLimit) {
           counter++;
           return true;
       }
       return false;
   }
}

Come evidenziare l'elemento in Selenium WebDriver?

Possiamo usare JavascriptExecutor per impostare il colore del Webelement citando l'elemento.


WebElement element = driver.findElement(By.xpath("id_of_the_element"));
JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;
jsExecutor.executeScript("arguments[0].setAttribute('style', 'background: red; border: 2px solid red;');", element);

Come fare doppio clic nel selenio?

Possiamo usare il Classe di azioni in selenio per eseguire le operazioni DoubleClick nel modo seguente. Il metodo seguente accetta un argomento su cui devi eseguire DoubleClick.

public void doubleClick(By locator) {
\t\ttry {
\t\t\tWebElement element = driver.findElement(locator);
\t\t\tActions actions = new Actions(driver).doubleClick(element);
\t\t\tBASE_LOGGER.info("Performed the double Click on the Element  : " + locator);
\t\t} catch (StaleElementReferenceException e) {
\t\t\tBASE_LOGGER.error("Element is not attached to the page document " + e.getCause().getMessage());
\t\t} catch (NoSuchElementException e) {
\t\t\tBASE_LOGGER.error("Element " + locator + " was not found in DOM " + e.getCause().getMessage());
\t\t} catch (Exception e) {
\t\t\tBASE_LOGGER.error("Element " + locator + " was not clickable " + e.getCause().getMessage());
\t\t}
\t}

Come scorrere nel selenio?

Dobbiamo utilizzare Javascript per eseguire lo scorrimento e il metodo seguente fornisce un approccio avanzato per scorrere nell'elemento fino a quando l'elemento è visibile, ovvero lo scorrimento nella visualizzazione: 

public void scrollIntoView(By locator) {

  try {
     JavascriptExecutor executor = (JavascriptExecutor) driver;
     WebElement element = driver.findElement(locator);
     executor.executeScript("arguments[0].scrollIntoView(true);", element);
     BASE_LOGGER
           .info("scrollIntoView operation has been performed for the locator : " + String.valueOf(element));
  } catch (Exception e) {
     String exceptionData = e.getCause().getMessage();
     BASE_LOGGER.error("Error encountered i.e : " + exceptionData
           + " while performing scrollIntoView on the element : " + locator);

  }

}

Come ottenere tutti i link sulla pagina in selenio?

Possiamo usare By.tagName ("a") per recuperare tutti i link che sono disponibili sulla pagina poiché il link si riferisce al tag chiamato come a; il metodo va nel modo seguente: 

public List<WebElement> getAllLinks() {

  try {
     List<WebElement> allLinks = driver.findElements(By.tagName("a"));
     int numberOfLinks = allLinks.size();
     BASE_LOGGER.info("Number of Links in the Current Page is : " + numberOfLinks);
     BASE_LOGGER.info("GetAllLinks operation has been performed for the Current Page : ");
     return allLinks;
  } catch (Exception e) {
     String exceptionData = e.getCause().getMessage();
     BASE_LOGGER.error("Error encountered i.e : " + exceptionData
           + " while performing GetAllLinks for the Current Page :");
     return null;
  }

}

Come trovare il numero di iframe su una pagina in Selenium?

Possiamo usare il metodo seguente per trovare il numero di iframe in una pagina in Selenium:

public int numberOfIframesInPage() {
  try {
     JavascriptExecutor exe = (JavascriptExecutor) driver;
     Integer numberOfIFrames = Integer.parseInt(exe.executeScript("return window.length").toString());
     BASE_LOGGER.info("Number of IFrames in the current Window are : " + numberOfIFrames);
     return numberOfIFrames;

  } catch (Exception e) {
     BASE_LOGGER
           .error("Exception occurred in Finding numberOfIframesInPage with : " + e.getCause().getMessage());
     return 0;
  }

}

Come passare al frame predefinito nel webdriver selenio?

Possiamo usare il metodo switchTo (). DefaultContent () per passare al frame predefinito in Selenium Webdriver: 

public void switchToDefaultFrame() {
  try {
     driver.switchTo().defaultContent();
     BASE_LOGGER.info("Switched to Default Content ");
  } catch (Exception e) {
     BASE_LOGGER.error("Exception Occurred while switching to default Content ");
  }
}

Come gestire le schede nel selenio?

Possiamo utilizzare un elenco per memorizzare tutte le schede disponibili e utilizzare driver.getWindowHandles () per memorizzare le schede, e una volta dopo, possiamo gestire le schede una per una nell'approccio seguente, come ad esempio: 

public void switchToTab(int indexOfTab) {

  try {

     ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());
     driver.switchTo().window(tabs.get(indexOfTab));
     BASE_LOGGER.info("Successfully switched to tab with tab index as : " + indexOfTab);
  } catch (Exception e) {
     String exceptionData = e.getCause().getMessage();
     BASE_LOGGER.error(
           "Unable to Switch to Tab for :" + indexOfTab + " i.e failed with exception as : " + exceptionData);

  }



}

Domande di intervista al selenio intermedio

WebDriver è una classe o un'interfaccia?

Webdriver è un'interfaccia in cui tutte le classi di driver come ChromeDriver, FirefoxDriver creano un oggetto e fanno riferimento al riferimento dell'interfaccia Webdriver.

Qual è più veloce, XPath o CSS?

CSS è più veloce di XPath. 

Perché CSS è più veloce di XPath?

Ogni motore del browser è diverso e quindi la strategia di analisi e l'implementazione del motore sono diverse attraverso XPath scritto. Questo è il motivo per cui l'analisi di XPath a volte diventa incoerente; ad esempio, IE non ha una propria implementazione del motore per analizzare XPATH; quindi Selenium inietta il proprio motore XPath nativo per analizzare XPATH in IE. 

Che cosa sono i browser privilegiati potenziati?

Quando i browser vengono aperti con alcune impostazioni predefinite (istanza con modalità privilegiata speciale) come con determinati profili o certificati, si parla di sessioni browser privilegiate potenziate. 

Siamo in grado di avviare un browser con Selenium con Profilazione o impostare certificati per le stesse finalità.

Cos'è il browser headless Selenium e come eseguiamo i test del browser headless?

  Un browser headless è un programma di simulazione per il browser in cui non abbiamo un'interfaccia utente, ma possiamo comunque eseguire l'applicazione sotto test in modalità invisibile 

 ed eseguire l'operazione Web desiderata in background.

 Utilizziamo i driver del browser HeadLess come il driver HTMLUNIT o il driver phantomJS per eseguire test del browser headless.

Selenio contro burattinaio? 

Ci sono molte differenze tra Selenium e burattinaio (che è un nuovo strumento rispetto a Selenium e sviluppato da Google Chrome DEV)

Discuteremo qui il confronto tra Selenium VS Puppeteer in diversi aspetti: 

HardAssert vs SoftAssert?

Entrambi gli approcci di asserzione provengono da TestNg e ognuno di essi ha i suoi rispettivi pro e contro

 Quando ti trovi nelle circostanze in cui hai bisogno di un'asserzione ovvia, cioè, senza quel passaggio, i passaggi rimanenti dello script non hanno senso per essere eseguiti, puoi inserire Hard Assert lì.

 Come impostare la dimensione della finestra in selenio?

Possiamo creare un oggetto della classe Dimension e passare quell'oggetto al metodo setSize (): 

Dimension dimension = new Dimension(480,700);
driver.manage().window().setSize(dimension);

Qual è il sistema di controllo della versione che usi mentre lavori con Selenium?

Puoi menzionare qualsiasi VCS che usi, come Github, SVN, ecc.

Come clonare un repository git?

Possiamo clonare il repository git usando:

Git clone repo

Come estrarre il codice repo di Git?

Git pull remoteRepoURL branchName

Come inviare il codice a git repo?

Git push remoteURL branchName

Come impostare il telecomando? 

git remote add ProvideARemoteName remoetURL

Come verificare i telecomandi disponibili?

Git remote -v 

Come controllare in quale URL remoto ti trovi attualmente? 

git config --get remote.origin.url

Come puoi integrare il tuo framework con Jenkins?

Come parte del framework Selenium Automation, stiamo utilizzando strumenti di compilazione (come Maven / Gradle) e possiamo creare un Jenkins Job e connettere Maven / Gradle fornendo la configurazione con VCS (cioè Github, ecc.)

Quali sono gli svantaggi di Sikuli?

Come eseguire il test del database utilizzando il selenio?

Possiamo eseguire test di database utilizzando il selenio nel seguente approccio modulare: 

Di seguito è riportato lo snippet di codice per i passaggi precedenti: 

Configurazione della connessione al database Selenium con JAVA JDBC e creazione di un'istruzione DB: 

   static Connection connection = null;
   private static Statement statement;
   public static String DataBase_URL = "DB_URL";
   public static String DataBase_USER = "DB_UserName";
   public static String DataBase_PASSWORD = "DB_password";



   /* This method Creates the connection with Java JDBC and return it to the Test method to use along with statement 
   */
@BeforeTest
   public void setUp() throws Exception {
       try{

           String dbClass = "com.mysql.cj.jdbc.Driver";
           Class.forName(dbClass).newInstance();
           Connection con = DriverManager.getConnection(DataBase_URL, DataBase_USER, DataBase_PASSWORD);
           statement = con.createStatement();
       }
       catch (Exception e)
       {
           e.getCause().getMessage().toString();

       }


   }

Utilizzare l'istruzione per interrogare il DB con SQL: 

@Test
public void test() {
   try{
       String queryData = "select * from TableName";

       ResultSet res = statement.executeQuery(queryData);
       while (res.next())
       {
           System.out.print(res.getString(1));
           System.out.print(" " + res.getString(2));
       }
   }
   catch(Exception e)
   {
       e.getMessage();
   }
}

Chiusura della connessione dati: 

Questo passaggio è molto importante; in caso contrario, potremmo finire per creare più connessioni al database senza chiuderle dopo l'uso, il che potrebbe causare diversi problemi. 

Ecco lo snippet di codice per lo stesso: 

@AfterTest
public void tearDown() throws Exception {

   if (connection != null) {
       connection.close();
   }
}

Come verificare il colore di sfondo e il colore di un WebElement utilizzando Selenium? 

Dobbiamo usare un metodo chiamato getCssValue ("color") per recuperare il colore di un elemento web e getCssValue ("background-color") per estrarre il colore di sfondo di un webelement.

Ecco lo snippet di codice: 

String colour  = driver.findElement(By.xpath("XPATH_of_the_Element")).getCssValue("color");

String backgroundColour = driver.findElement(By.xpath("XPATH_of_the_Element")).getCssValue("background-color");

Come verificare la dimensione del carattere di un WebElement utilizzando il webdriver Selenium? 

Possiamo usare il metodo chiamato getCssValue ("font-size")

String fontSize  = driver.findElement(By.xpath("XPATH_of_the_Element")).getCssValue("font-size");

Come verificare il tipo di carattere di un elemento web in Selenium Webdriver? 

String fontSize = driver.findElement(By.xpath("XPATH_of_the_Element")).getCssValue("font-type");

Come ottenere il testo della descrizione comando in selenio?

Ottenere il testo della descrizione comando di un WebElement non è altro che ottenere l'attributo title del Webelement nel modo seguente: 

public String getToolTipData(By locator){

   WebElement element=driver.findElement(locator);
   return element.getAttribute("title");
}

Che cos'è StaleElementException? 

Elemento obsoleto significa che quando un elemento Web non è più collegato al DOM / WebPage che era presente in precedenza. In quel caso, il selenio genera un'eccezione staleelemente.

Ciò può accadere per diversi motivi, ad esempio a causa di chiamate AJAX o JavaScript che cambiano lo stato

dell'elemento lo rende non disponibile / scollegato dal DOM.  

Conclusione : Con queste abbiamo finito con le serie di domande dell'intervista critica al selenio che coprono le domande dell'intervista al Selenium Framework, leggi qui per approfondire concetti di selenio per capire l'architettura del selenio.

Lascia un tuo commento