71 preguntas de la entrevista de Critical Selenium sin responder

En este tutorial de preguntas de la entrevista de selenio, cubriremos todas las preguntas críticas de las preguntas de la entrevista de Selenium junto con las preguntas de la entrevista del marco de automatización de Selenium avanzado. Este tutorial se divide en tres segmentos:

Preguntas de la entrevista del Selenium Framework

Preguntas avanzadas de la entrevista de selenium

Preguntas de la entrevista de selenio intermedio

NOTA : El enfoque de este tutorial de preguntas y respuestas de la entrevista de Selenium es analizar los cuestionarios más críticos y complejos, ya que es posible que ya conozca los cuestionarios básicos.

Inicialmente, comenzaremos con las preguntas y respuestas de la entrevista de Advance Selenium Framework y luego avanzaremos con las preguntas y respuestas de la entrevista de selenio Crítico / Avanzado y finalmente terminaremos este tutorial con niveles intermedios para que pueda prepararse bien.

Preguntas de la entrevista de Selenium
Preguntas de la entrevista de Selenium

Preguntas de la entrevista del Selenium Framework

Preguntas de la entrevista de Advance Selenium

Preguntas de la entrevista de selenio intermedio

Preguntas de la entrevista del Selenium Framework: 

¿Cuántos tipos populares de marcos de Selenium existen?

Hay cuatro tipos diferentes de marco de Selenium, que son: 

¿Cuántos enfoques diferentes existen para diseñar el marco del modelo de objetos de página?

¿Qué es Page Factory en selenio?

PageFactory es una clase de la biblioteca Selenium de un paquete llamado org.openqa.selenium.support que ayuda a diseñar el patrón de diseño de objetos de página en el marco del modelo de objetos de página, que tiene pocas implementaciones como:

¿Cuál es la diferencia de diseño clave entre el modelo de objetos de página clásico y el modelo de objeto de página personalizado?

Por lo tanto, cada página web debe tener una interfaz para almacenar localizadores y una clase para las operaciones web a nivel de página y sus declaraciones de respeto.

¿Cuál es el principio de diseño del marco del modelo de objetos de página?

El principio de diseño del marco del modelo de objetos de página se basa en principios o conceptos, que son: 

Por tanto, todas las acciones de la página (diferentes operaciones de la funcionalidad de la página web) residen en las respectivas clases de página.

Mencione las diferencias clave entre el modelo de objetos de página y el modelo de objetos de página híbrido.

La diferencia entre el modelo de objeto de página y el modelo de objeto de página híbrido es que el modelo de objeto de página híbrido se basa en el diseño del marco del modelo de objeto de página junto con las amplias funciones del marco basado en datos y admite una amplia variedad de utilidades de operaciones de datos, como se muestra a continuación. : 

¿Cuál es el analizador de lenguaje utilizado en el marco Cucumber -BDD?

El analizador de lenguaje utilizado en el marco Cucumber -BDD es Gherkin.

¿Qué es el idioma Gherkin?

Gherkin es DSL (lenguaje específico de dominio) y un lenguaje similar al inglés, que es muy legible y comprensible (es decir, dar (), cuando (), luego (), etc.)

¿Qué quieres decir con dado () en pepinillo?

 El método Given () establece que se da o se establece alguna situación o escenario.

 ¿A qué te refieres con cuando () en pepinillo?

Cuando () significa cuando realiza algunas operaciones.

¿Qué quieres decir con entonces () en pepinillo?

then () se usa como aserciones después de que las operaciones sean realizadas por given (). when ().

¿Qué herramienta de CI utiliza como parte del marco?

Usamos Jenkins (principalmente) como una herramienta de CI de código abierto.

¿Qué herramienta de compilación utiliza como parte del marco?

Usamos herramientas de compilación como Maven / Gradle / ant (se usaba anteriormente).

¿Cuál es la diferencia clave entre maven y Gradle?

Gradle es la versión avanzada de lo que realiza maven y, junto con eso, también podemos crear tareas (como la función que estaba disponible en ANT), por lo que podemos considerar en un alto nivel: 

Gradle = >> Maven + Hormiga 

Como parte de Selenium C #, usamos Gallio como herramienta de construcción. 

¿Cuál es el marco de pruebas unitarias que utilizamos como parte del marco de automatización de Selenium?

Usamos principalmente TestNG / JUnit (JUnit se usa menos hoy en día) como parte del marco de prueba unitario mientras construimos el marco de automatización con Selenium. 

Como parte del marco Selenium C #, utilizamos NUnit / MbUnit como marco de prueba unitario.

¿Qué enfoque se puede tener en cuenta al diseñar las herramientas de informes como parte del marco de Selenium?

Hay varios enfoques de informes que podríamos adoptar al diseñar el marco:

Además de la integración de estas herramientas de informes de código abierto, también podemos optar por algunas funciones avanzadas de informes o un panel de control para construir con las siguientes tecnologías y herramientas:

¿Cómo se usa ELK para crear el panel de informes con Selenium Framework?

Existe un principio de diseño básico básico que se utiliza para diseñar el panel de Automatización, que son: 

¿Cómo se crea un informe HTML personalizado?

Puede hacer uso de diferentes interfaces de oyentes y reporteros provistas por TestNg para registrar los eventos y sus respectivos conjuntos de datos y crear HTML utilizando esos conjuntos de datos y las etiquetas HTML en las utilidades de informes.

¿Cuáles son los desafíos a los que se ha enfrentado al desarrollar un marco?

Hay diferentes desafíos que puede mencionar según su experiencia al desarrollar el marco, por ejemplo: 

Mencione cuáles son todos los componentes de selenio que ha utilizado en su marco de selenio.

Puedes mencionar en función de tu marco.

¿Cuál es el flujo de su marco de automatización?

Puede mencionar el flujo de ejecución de su marco en función de su flujo de marco y las herramientas que ha utilizado; a continuación se muestra un ejemplo que puede mencionar:

CI (Jenkins) → Herramientas de compilación (Maven /Gradle) → Marco de prueba unitaria (TestNg) → TestNg.xml - >> TestClasses → BaseTest (Cada clase de prueba extiende la clase base como baseTest donde sale @beforeClass / @ BeforeSuite @afterClass, etc.) -> TestMethods → PageClasses → Page Methods → WebUtilities ( clase reutilizable para las utilidades WebAction) - >> Reporting Utils 

¿Qué entiende por marco basado en datos y dónde usamos un marco basado en datos?

Un marco basado en datos es básicamente un marco impulsado por datos. Dicho esto, en el que la aplicación o el tipo de aplicación donde los mismos casos de prueba o escenarios se ejecutan varias veces con los diferentes conjuntos de datos o la fuente o los datos es muy amplio, como en el caso en el que necesitamos interactuar una variedad Fuentes de datos allí utilizamos un marco basado en datos. 

Las diferentes fuentes de datos pueden ser: 

¿Cómo explicar el marco de automatización del selenio en una entrevista?

 Hay diferentes enfoques que puede adoptar para explicar el marco de automatización del selenio en una entrevista; El mejor enfoque posible podría ser el enfoque modular, que consiste en dividir la explicación en diferentes módulos separados, como:

Discutamos en detalle: 

Tipo de marco y características clave y únicas del marco:

Debe mencionar el tipo de marco, como marco híbrido, marco de modelo de objeto de página, marco de modelo de objeto de página híbrido, etc. 

Debe mencionar las características únicas del marco, como por ejemplo:

Herramientas y tecnologías utilizadas en el marco de Selenium:

Puede mencionar las herramientas y tecnologías utilizadas durante el desarrollo del marco, como:

El flujo de la ejecución del Selenium Framework:

Puede mencionar el flujo de ejecución del marco, es decir, cómo se activan los conjuntos de pruebas y cómo fluye a los casos / métodos de prueba y hasta las utilidades del marco, como webutils, utils de datos, etc. Puede consultar la pregunta anterior donde discutimos cómo explicar el flujo de ejecución del marco de Selenium.

Diferentes escenarios críticos manejados por su marco:

En este módulo, puede discutir las características críticas que se han automatizado como parte de la automatización de su aplicación con su marco. Puede haber muchos casos de uso o características que puede mencionar aquí, como: 

¿Cómo diseñar escenarios de registro en el marco de Selenium?

Puede usar log4j para el registro, o puede usar el registro en tiempo real y la implementación del panel de depuración con Graylog, que básicamente usa ElasticSearch en el backend para obtener detalles de depuración y registro en tiempo real.

¿Cuáles son los patrones de diseño que ha utilizado al diseñar el marco?

Puede utilizar diferentes patrones de diseño según la necesidad y el diseño del marco de automatización, como:

Preguntas críticas o avanzadas de la entrevista de selenio:

¿De cuántas formas puede ejecutar su secuencia de comandos de automatización en paralelo?

Hay varias formas y enfoques a través de los cuales puede ejecutar sus scripts de prueba en paralelo, como: 

Maven:

Usando el complemento seguro: 

5

 cierto

Aquí el recuento de bifurcaciones representa el número de hilos paralelos.

Gradle: 

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

¿Cuál es la diferencia entre los métodos setSpeed ​​() y sleep ()?

El método setSpeed ​​() en Selenium básicamente establece la velocidad de ejecución de todas y cada una de las acciones / comandos. 

Entonces, digamos que si estableceSpeed ​​("2000"), entonces cada línea de ejecución se retrasará 2000 milisegundos. 

Por otro lado, Thread.sleep () introducirá un retraso de 3000 milisegundos (suspenderá el hilo para la operación específica). 

Por tanto, sleep () se aplica a 1 operación; por otro lado, setSpeed ​​() introduce el retraso para todas y cada una de las operaciones y, por lo tanto, establece la velocidad de ejecución.  

¿Cómo verificar la presencia de una ScrollBar con Selenium? 

Para verificar la barra de desplazamiento horizontal en una página web con Selenium, usamos Javascriptexecutor de la siguiente manera: 

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

Para verificar la barra de desplazamiento vertical en la página web usando Selenium webdriver también necesitamos usar Javascriptexecutor

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

¿Escribir el código para manejar cualquier elemento web oculto en selenium webdriver?

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

¿Mencionar diferentes enfoques para manejar una ventana emergente basada en ventanas usando Selenium webdriver?

Puede utilizar los siguientes enfoques para manejar aplicaciones basadas en Windows, como ventana emergente: 

¿Cuál es la interfaz principal de WebDriver?

Contexto de búsqueda

Mencione las diferencias clave entre POI y JXL Jars.

POI admite el formato condicional, el formato de texto enriquecido o el formato xlsx, pero por otro lado, JXL no admite ninguna de estas funciones.

La biblioteca de puntos de interés se mantiene y actualiza en comparación con JXL.

¿Cómo maneja las latencias de su red usando Selenium?

Podemos usar lo siguiente para manejar la latencia de la red usando en Selenium: 

Controlador.administrar.tiempo de carga de la página

¿Cuáles son los enfoques que tomaría para manejar las pruebas de contenido Ajax con Selenium WebDriver?

AJAX es básicamente JavaScript y XML asíncronos. Toda la comunicación de la aplicación basada en AJAX se basa en llamadas asincrónicas, 

que permiten realizar cualquier evento sin necesidad de actualizar la página web. Cada operación se puede realizar independientemente de otros eventos.

¿Cuáles son los desafíos al trabajar con llamadas AJAX en Selenio WebDriver?

Para trabajar con la aplicación AJAX, es posible que deba usar esperas para los casos de uso mencionados anteriormente: 

¿Cuál es el enfoque para trabajar con Proxy en Selenium Webdriver?

Hay dos enfoques diferentes que puede manejar proxy en Selenium Webdriver: 

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

¿Mencionar las formas de lograr la sincronización en WebDriver?

Podemos manejar la sincronización en Selenium webdriver usando diferentes mecanismos de espera: 

Mencione las diferencias clave entre TestNg @BeforeTest y @BeforeMethod. 

En TestNg @BeforeTest y @BeoreMethod tiene diferentes aspectos, son:

¿Enumere los diferentes tipos de API de WebDriver presentes en Selenium?

¿De cuántas formas puede lograr la ejecución sin cabeza con Selenium?

Podemos utilizar los controladores siguientes para lograr la automatización sin cabeza con Selenium: 

¿Qué es Fluent Wait In Selenium WebDriver?

Con FluentWait, puede establecer una cantidad máxima de tiempo (digamos 3 minutos) para esperar para cumplir con una condición específica, y durante ese tiempo, sondeará o verificará continuamente con una cierta frecuencia (unidad de tiempo muy pequeña, digamos 3 segundos) para comprobar.

Si se cumple la condición, devolverá verdadero, y si no, lanzará una excepción "ElementNotVisibleException".

La sintaxis de fluentwait en Selenium es:

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

Cuéntenos algunas excepciones de Selenium que haya encontrado mientras trabajaba con Selenium WebDriver.

¿Cómo se eliminan las cookies en Selenium?

El comando para eliminar las cookies en Selenium es: 

driver.manage().deleteAllCookies();

Explique el enfoque de cómo se lee la variable javascript en selenium webdriver?

Necesitamos usar JavascriptExecutor para poder hacerlo. 

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

¿Cómo realizar la operación del navegador Acercar y Alejar en Selenium?

Podemos realizar la operación de acercar y alejar en Selenium utilizando dos enfoques diferentes, tales como: 

Acercar usando la clase Robot en selenium

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);

Alejar usando la clase Robot en selenium


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

Acercar usando la clase Keys en selenium

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

Alejar usando la clase Robot en selenium

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

¿Cómo borrar un campo en selenio sin usar un método clear ()?

Podemos borrar cualquier campo sin usar el método clear () en el siguiente enfoque: 

Podemos usar la clase Keys en Selenium para lograr lo mismo: 

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

¿Cómo volver a ejecutar los casos de prueba fallidos en selenio?

Podemos volver a ejecutar los casos de prueba fallidos en Selenium en los dos enfoques siguientes:

Con TestNG-failed.xml generado automáticamente:

Después de la ejecución de la prueba (ejecutada desde testng.xml), TestNG genera automáticamente TestNG-failed.xml; puede volver a ejecutar el mismo XML para ejecutar las pruebas fallidas SOLAMENTE.

Implementando Interfaz IRetryAnalyzer de testNg :

Al implementar la interfaz IRetryAnalyzer, podemos volver a ejecutar automáticamente los casos de prueba fallidos 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;
   }
}

¿Cómo resaltar un elemento en Selenium WebDriver?

Podemos usar JavascriptExecutor para establecer el color del Webelement mencionando el 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);

¿Cómo hacer doble clic en selenio?

Podemos usar el Clase de acciones en selenio para realizar las operaciones de DoubleClick de la siguiente manera. El siguiente método toma un argumento en el que debe realizar 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}

¿Cómo desplazarse en selenio?

Necesitamos usar Javascript para realizar el desplazamiento, y el siguiente método proporciona un enfoque avanzado para desplazarse al elemento hasta que el elemento sea visible, que se desplaza a la vista: 

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);

  }

}

¿Cómo obtener todos los enlaces de la página en selenium?

Podemos usar By.tagName (“a”) para buscar todos los enlaces que están disponibles en la página, ya que el enlace se refiere a la etiqueta llamada a; el método es el siguiente: 

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;
  }

}

¿Cómo encontrar el número de iframes en una página en Selenium?

Podemos usar el siguiente método para encontrar el número de iframes en una página en 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;
  }

}

¿Cómo cambiar al marco predeterminado en selenium webdriver?

Podemos usar el método switchTo (). DefaultContent () para cambiar al marco predeterminado en 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 ");
  }
}

¿Cómo manejar las pestañas en selenio?

Podemos usar una Lista para almacenar todas las pestañas disponibles y usar driver.getWindowHandles () para almacenar las pestañas, y una vez después de esto, podemos manejar las pestañas una por una en el siguiente enfoque, como: 

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);

  }



}

Preguntas de la entrevista de selenio intermedio

¿WebDriver es una clase o una interfaz?

Webdriver es una interfaz donde todas las clases de controladores, como ChromeDriver, FirefoxDriver, crean un objeto y tienen una referencia a la referencia de la interfaz de Webdriver.

¿Cuál es más rápido, XPath o CSS?

CSS es más rápido que XPath. 

¿Por qué CSS es más rápido que XPath?

Cada motor de navegador es diferente y, por lo tanto, la estrategia de análisis y la implementación del motor son diferentes a través del XPath escrito. Es por eso que analizar XPath se vuelve inconsistente a veces; por ejemplo, IE no tiene su propia implementación de motor para analizar XPATH; por lo tanto, Selenium inyecta su propio motor XPath nativo para analizar XPATH en IE. 

¿Qué son los navegadores privilegiados mejorados?

Cuando los navegadores se abren con algunas configuraciones predefinidas (instancia con modo privilegiado especial) como con ciertos Perfiles o Certificados, entonces se llama sesiones de navegadores privilegiados elevados. 

Podemos iniciar un navegador con Selenium con Perfilado o certificados establecidos para los mismos fines.

¿Qué es Selenium del navegador sin cabeza y cómo realizamos las pruebas del navegador sin cabeza?

  Un navegador sin cabeza es un programa de simulación para el navegador donde no tenemos una interfaz de usuario, pero aún podemos ejecutar la aplicación bajo prueba en modo invisible. 

 y realice la operación web deseada en segundo plano.

 Usamos controladores de navegador HeadLess como el controlador HTMLUNIT o el controlador phantomJS para realizar pruebas de navegador sin cabeza.

¿Selenio contra titiritero? 

Hay varias diferencias entre Selenium y titiritero (que es una nueva herramienta en comparación con Selenium y desarrollada por Google Chrome DEV)

Discutiremos aquí la comparación entre Selenium VS Puppeteer en diferentes aspectos: 

¿HardAssert vs SoftAssert?

Ambos enfoques de afirmación son de TestNg, y cada uno de ellos tiene sus respectivos pros y contras.

 Cuando se encuentra en las circunstancias en las que necesita tener una afirmación que sea obvia, es decir, sin ese paso, los pasos restantes del script no tienen sentido para ejecutarse, entonces puede poner Hard Assert allí.

 ¿Cómo configurar el tamaño de la ventana en selenio?

Podemos crear un objeto de la clase Dimension y pasar ese objeto al método setSize (): 

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

¿Cuál es el sistema de control de versiones que usa mientras trabaja con Selenium?

Puede mencionar cualquier VCS que utilice, como Github, SVN, etc.

¿Cómo clonar un repositorio de git?

Podemos clonar el repositorio de git usando:

Git clone repo

¿Cómo extraer el código de repositorio de Git?

Git pull remoteRepoURL branchName

¿Cómo enviar el código a git repo?

Git push remoteURL branchName

¿Cómo configurar el control remoto? 

git remote add ProvideARemoteName remoetURL

¿Cómo verificar los mandos a distancia disponibles?

Git remote -v 

¿Cómo comprobar en qué URL remota se encuentra actualmente? 

git config --get remote.origin.url

¿Cómo puedes integrar tu marco con Jenkins?

Como parte del marco de Selenium Automation, estamos usando herramientas de compilación (como Maven / Gradle) y podemos crear un trabajo de Jenkins y conectar Maven / Gradle proporcionando la configuración con VCS (es decir, Github, etc.)

¿Cuáles son las desventajas de Sikuli?

¿Cómo realizar pruebas de base de datos usando selenio?

Podemos realizar pruebas de base de datos utilizando selenio en el siguiente enfoque modular: 

A continuación, se muestra el fragmento de código para los pasos anteriores: 

Selenium Database Connection Setup con JAVA JDBC y crea una declaración 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();

       }


   }

Utilice la declaración para consultar la base de datos 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();
   }
}

Cerrar la conexión de datos: 

Este paso es muy importante; de lo contrario, podemos terminar creando múltiples conexiones de base de datos sin cerrarlas después del uso, lo que puede causar varios problemas. 

Aquí está el fragmento de código para el mismo: 

@AfterTest
public void tearDown() throws Exception {

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

¿Cómo verificar el color de fondo y el color de un WebElement usando Selenium? 

Necesitamos usar un método llamado getCssValue ("color") para recuperar el color de un elemento web y getCssValue ("color de fondo") para extraer el color de fondo de un elemento web.

Aquí está el fragmento de código: 

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");

¿Cómo verificar el tamaño de fuente de un WebElement usando Selenium webdriver? 

Podemos usar el método llamado getCssValue ("tamaño de fuente")

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

¿Cómo verificar el tipo de fuente de un elemento web en Selenium Webdriver? 

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

¿Cómo obtener texto de información sobre herramientas en selenium?

Obtener el texto de información sobre herramientas de un WebElement no es más que obtener el atributo de título del Webelement de la siguiente manera: 

public String getToolTipData(By locator){

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

¿Qué es StaleElementException? 

Elemento obsoleto significa que cuando un elemento web ya no se adjunta con el DOM / página web que estaba presente anteriormente. En ese caso, Selenium arroja una excepción staleelemente.

Esto puede suceder por varias razones múltiples, como debido a las llamadas AJAX o JavaScript que cambian el estado

del elemento lo hace no disponible / separado de DOM.  

Conclusión : Con estos hemos terminado con los Conjuntos de preguntas críticas de la entrevista de Selenium que cubren las preguntas de la entrevista del Marco de Selenium. Lea aquí para profundizar conceptos de selenio para comprender la arquitectura de Selenium.

Deja un comentario