Testing is a crucial phase in the software development life cycle (SDLC). Las pruebas manuales, en particular, implican la ejecución física de casos de prueba contra las aplicaciones para detectar errores y errores. Sin embargo, las pruebas manuales planteaban muchos desafíos, y había demanda de un método para automatizar el proceso de pruebas. Como resultado, se introdujo Selenium, una poderosa herramienta de prueba automatizada.,

Selenium es una herramienta de prueba automatizada de código abierto utilizada para probar aplicaciones web en varios navegadores. Por lo tanto, Aquí está la parte triste, Selenium solo puede probar aplicaciones web. Las aplicaciones de escritorio y móviles no se pueden probar con Selenium. Sin embargo, otras herramientas, como QTP de HP y Appium, entre otras, se pueden utilizar para probar software y aplicaciones móviles.

destaque de sus compañeros esta temporada de evaluación

comience a aprender con nuestros cursos gratuitos Inscríbase ahora

pero ¿qué hace que Selenium sea la herramienta de prueba ampliamente utilizada?, Aquí hay algunas razones:

  1. Selenium es fácil de usar ya que está esencialmente desarrollado en JavaScript.
  2. Selenium puede probar aplicaciones web contra navegadores como Firefox, Opera, Chrome y Safari, por nombrar algunos.
  3. el código de prueba se puede escribir en varios lenguajes de programación como Java, Perl, Python y PHP.
  4. Selenium es independiente de la plataforma y se puede implementar en diferentes sistemas operativos como Windows, Linux y Macintosh.
  5. Selenium se puede integrar con herramientas de terceros como JUnit y TestNG para la gestión de pruebas.,

si todos están preparados para una entrevista en Selenium, aquí están las 30 preguntas más frecuentes para entrevistas.

preguntas de entrevista de Selenium para principiantes

¿cuáles son los componentes de Selenium suite?

Selenium IDE

es un plug-in para Firefox/Chrome desarrollado para acelerar la creación de scripts de automatización. Registra las acciones del usuario en el navegador web y las exporta como un script reutilizable.

Selenium Remote Control (RC)

RC es un servidor que permite a los usuarios escribir pruebas de aplicaciones en varios lenguajes de programación., Los comandos del script de prueba son aceptados por este servidor y se envían al navegador como comandos JavaScript de Selenium core. El navegador se comporta en consecuencia.

Selenium WebDriver

WebDriver es una interfaz de programación que ayuda a crear y ejecutar casos de prueba. Prevé actuar sobre elementos web. A diferencia de RC, WebDriver no requiere un servidor adicional e interactúa de forma nativa con las aplicaciones del navegador.

Selenium Grid

La grid fue diseñada para distribuir comandos a diferentes máquinas simultáneamente., Permite la ejecución paralela de pruebas en diferentes navegadores y diferentes sistemas operativos. Es excepcionalmente flexible y está integrado con otros componentes de la suite para la ejecución simultánea.

¿Cuáles son las limitaciones de las pruebas de selenio?

  1. indisponibilidad de soporte técnico confiable: dado que Selenium es una herramienta de código abierto, no tiene soporte técnico dedicado para resolver las consultas del usuario.
  2. Solo prueba aplicaciones web: Selenium necesita integrarse con herramientas de terceros como Appium y TestNG para probar aplicaciones de escritorio y móviles.,
  3. soporte limitado para pruebas de imágenes.
  4. NO incluye la función de generación de informes y gestión de pruebas: Selenium debe integrarse con herramientas como TestNG o JUnit, entre otras, para facilitar la generación de informes y gestión de pruebas.
  5. Puede requerir el conocimiento de lenguajes de programación: Selenium WebDriver espera que el usuario tenga algunos conocimientos básicos sobre programación.

¿Cuáles son los tipos de pruebas compatibles con Selenium?

Selenium admite pruebas de regresión y pruebas funcionales.,

pruebas de regresión: es una selección total o parcial de casos de prueba ya ejecutados que se vuelven a ejecutar para garantizar que las funcionalidades existentes funcionen correctamente.

Los pasos involucrados son –

  1. Re-testing: se ejecutan todas las pruebas en el conjunto de pruebas existente. Resulta ser muy caro y requiere mucho tiempo.
  2. Selección de pruebas de regresión: las pruebas se clasifican como pruebas de características, pruebas de integración y las pruebas de extremo a extremo. En este paso, se seleccionan algunas de las pruebas.,
  3. priorización de casos de prueba: los casos de prueba seleccionados se priorizan en función del impacto empresarial y las funcionalidades críticas.

Pruebas Funcionales-Las Pruebas Funcionales implican la verificación de cada función de la aplicación con la especificación requerida.

los siguientes son los pasos involucrados:

  1. Identificar la entrada de la prueba
  2. calcular el resultado de la prueba
  3. ejecutar la prueba
  4. comparar el resultado de la prueba con el resultado real

¿Cuál es la diferencia entre selenio 2.0 y selenio 3.0?

selenio 2.,0 es una herramienta que facilita el desarrollo de pruebas automatizadas para aplicaciones web. Representa la fusión del proyecto original Selenium con el proyecto WebDriver. Selenium RC quedó obsoleto ya que la fusión, Sin embargo, se usó para compatibilidad con versiones anteriores

Selenium 3.0 es la versión extendida de Selenium 2.0. Es inherentemente compatible con versiones anteriores y no implica Selenium RC. La nueva versión vino junto con varias correcciones de errores y una mayor estabilidad.,

¿Qué es la política de mismo origen y cómo se manejan?

La política del mismo origen es una característica adoptada por motivos de seguridad. De acuerdo con esta Política, un navegador web permite a scripts de una página web acceder al contenido de Otra página web siempre que ambas páginas tengan el mismo origen. El origen se refiere a una combinación del esquema de URL, nombre de host y número de Puerto.

la misma Directiva de origen impide que un script malicioso en una página acceda a datos confidenciales en Otra página web.,

considere un programa JavaScript utilizado por google.com. esta aplicación de prueba puede acceder a todas las páginas de dominio de Google como google.com/login, google.com/mail, etc. Sin embargo, no puede acceder a páginas de otros dominios como yahoo.com

se introdujo Selenium RC para abordar este problema. El servidor actúa como un proxy HTTP configurado por el cliente y «engaña» al navegador para que crea que Selenium Core y la aplicación web que se está probando provienen del mismo origen.,

Full Stack Java Developer Course

la puerta de entrada a Master Web DevelopmentExplore Course

¿qué es Selenese? ¿Cómo se clasifica?

Selenese es el conjunto de comandos de Selenium que se utilizan para probar su aplicación web. El probador puede probar los enlaces rotos, la existencia de algún objeto en la interfaz de usuario, la funcionalidad Ajax, alertas, ventana, Opciones de lista y mucho más usando Selenese.,

acción: comandos que interactúan directamente con la aplicación

Accessors: permiten al usuario almacenar ciertos valores en una variable definida por el usuario

aserciones: Verifica el estado actual de la aplicación con un estado esperado

mencione los tipos de localizadores Web.

Locator es un comando que le dice a Selenium IDE qué elementos GUI (por ejemplo, cuadro de texto, botones, casillas de verificación, etc.) necesita operar. Los localizadores especifican el área de acción.,

Localizador por ID: toma un parámetro de cadena que es un valor del atributo ID que devuelve el objeto al método findElement ().

driver. findElement(By.id («usuario»));

Localizador por el enlace: si su elemento objetivo es un texto de enlace, puede usar el by.Localizador de linkText para localizar ese elemento.

driver.findElement (By.linkText («ofertas de hoy»)).click ();

Localizador por enlace parcial: el enlace de destino se puede localizar utilizando una porción de texto en un elemento de texto de enlace.

driver.findElement (By.linkText(«Servicio»)).,click ();

Localizador por nombre: se devolverá el primer elemento con el valor del atributo name que coincida con la ubicación.

driver. findElement(By.name («books»). click ());

Locator by TagName: localiza todos los elementos con el nombre de etiqueta coincidente

driver.findElement (By.tagName(«botón»).click ());

Locator by classname: encuentra elementos basados en el valor del atributo CLASS. Si un elemento tiene muchas clases, entonces esto coincidirá con cada una de ellas.

driver.findElement (By.,className («inputtext»));

Locator by XPath: toma un parámetro de String que es una XPATHEXPRESSION y devuelve un objeto al método findElement ().

driver.findElement (By.xpath («//span»)).getText ();

Localizador por selector CSS: localiza elementos basados en el motor de selector CSS subyacente del controlador.

controlador.findElement(Por.cssSelector (de entrada»#email»)).sendKeys(«[email protected]»);

¿cuáles son los tipos de espera apoyado por WebDriver?,

Implicit wait – Implicit wait ordena a Selenium que espere una cierta cantidad de tiempo antes de lanzar una excepción de «No such element».

driver.gestionar().timeouts().implicitly wait (TimeOut, TimeUnit.Segundos);

Explicit wait-Explicit wait se usa para decirle al Controlador Web que espere ciertas condiciones antes de lanzar una excepción «ElementNotVisibleException».,

WebDriverWait wait = new WebDriverWait (WebDriver Reference, TimeOut);

Fluent wait – se utiliza para indicar al controlador web que espere una condición, así como la frecuencia con la que queremos comprobar la condición antes de lanzar una excepción «ElementNotVisibleException».

mencione los tipos de comandos de navegación

driver. navigate (). to («https://www.ebay.in/»); – navega a la URL provista

driver.navegar().refresh (); Este método actualiza la página actual

controlador.navegar().,forward (); – este método hace la misma operación que hacer clic en el botón Forward de cualquier navegador. No acepta ni devuelve nada.

driver.navegar().back (); – este método hace la misma operación que hacer clic en el botón Atrás de cualquier navegador. No acepta ni devuelve nada.

Cuál es la principal diferencia entre el conductor.close () y driver.quit()?

driver.close()

Este comando cierra la ventana actual del navegador. Si hay varias ventanas abiertas, la ventana actual de enfoque se cerrará.

driver.,quit ()

cuando se llama a quit () en la instancia del controlador y hay una o más ventanas abiertas del navegador, cierra todas las ventanas abiertas del navegador.

preguntas de entrevista de Nivel Intermedio selenium

¿Cómo escribir texto en un cuadro de entrada usando Selenium?

sendKeys() es el método utilizado para escribir texto en los cuadros de entrada

considere el siguiente ejemplo –

WebElement email = driver. findElement(By.id («email»)); – encuentra el texto «email» usando el localizador de ID

email. sendKeys(«[email protected]»); – introduce texto en el campo URL

WebElement password = driver.,findElement(By.id («Password»)); – encuentra el texto «password» usando el ID locator

password.sendKeys («abcdefgh123»); – introduce texto en el campo de contraseña

¿cómo hacer clic en un hipervínculo en Selenium?

driver.findElement (By.linkText («ofertas de hoy»)).click ();

el comando encuentra el elemento usando texto de enlace y luego hace clic en ese elemento, donde después el usuario sería redirigido a la página correspondiente.

driver.findElement (By.partialLinkText(«Servicio»)).,click ();

el comando anterior encuentra el elemento basado en la subcadena del enlace proporcionado en el paréntesis y por lo tanto partialLinkText () encuentra el elemento web.

¿Cómo desplazarse hacia abajo en una página usando JavaScript?

el método scrollBy() se utiliza para desplazarse hacia abajo de la página web

sintaxis General:

executeScript(«window.scrollBy (x-pixels,y-pixels)»);

primero, cree un objeto JavaScript

controlador JavascriptExecutor js = (JavascriptExecutor);

inicie la aplicación deseada

controlador.,get(«https://www.amazon.com»);

Desplácese hacia abajo hasta la posición deseada

js.executeScript («window.scrollBy(0,1000)»);

la ventana no se desplaza verticalmente por 1000 píxeles

¿cómo afirmar el título de una página web?

obtener el título de la página web y almacenar en una variable

cadena actualTitle = driver.getTitle ();

escriba el título esperado

String expectedTitle = «abcdefgh»;

verifique si ambos son iguales

if (actualTitle.equalsIgnoreCase (expectedTitle))

System.fuera.println («Title Matched»);

else

System.fuera.,println («Title didn’t match»);

alternativamente,

Assert.assertEquals (actualTitle, expectedTitle);

¿cómo pasar el ratón sobre un elemento web?

la utilidad Actions class se utiliza para pasar el cursor sobre un elemento web en Selenium WebDriver

instanciar la clase Actions.

Actions action = new Actions (driver);

en este escenario, colocamos el cursor sobre el cuadro de búsqueda de un sitio web

actions.moveToElement (driver. findElement(By.id («id de la caja de búsqueda»))).,perform ();

dominar conceptos de prueba importantes como TestNG, Selenium IDE, Selenium Grid, Selenium WebDriver. Echa un vistazo a la capacitación para la certificación de selenio. ¡Inscríbase ahora!

Cómo recuperar las propiedades CSS de un elemento?

getCssValue() método que se utiliza para recuperar las propiedades CSS de cualquier elemento web

Sintaxis General:

controlador.findElement(Por.de identificación(«id»)).getCssValue(«nombre de atributo css»);

Ejemplo:

controlador.findElement(Por.id(«email»)).getCssValue(«font-size»);

¿Qué es el POM (Página Object Model)?,

cada página web de la aplicación tiene una clase de página correspondiente que se encarga de localizar los elementos web y realizar acciones sobre ellos. Page Object Model es un patrón de diseño que ayuda a crear repositorios de objetos para los elementos web. POM mejora la reutilización y legibilidad del código. Se pueden ejecutar varios casos de prueba en el repositorio de objetos.

se puede automatizar?

No, Selenium no puede automatizar ., Bueno, todo el concepto de es garantizar que los bots y los programas automatizados no accedan a información confidencial, por lo que Selenium no puede automatizarlo. El ingeniero de pruebas de automatización tiene que escribir manualmente mientras que otros campos se pueden llenar automáticamente.

¿cómo maneja Selenium las ventanas emergentes basadas en Windows?

Selenium fue diseñado para manejar aplicaciones web. Las características basadas en Windows no son compatibles de forma nativa con Selenium. Sin embargo, las herramientas de terceros como AutoIT, Robot, etc. se pueden integrar con Selenium para manejar ventanas emergentes y otras características basadas en Windows.,

¿Cómo Tomar capturas de pantalla en WebDriver?

La interfaz TakeScreenshot se puede usar para tomar capturas de pantalla en WebDriver.

el método getScreenshotAs () se puede usar para guardar la captura de pantalla

File scrFile = ((TakeScreenshot) driver).getScreenshotAs (outputType.FILE);

Advanced Level Selenium Interview Questions

¿hay alguna forma de escribir un cuadro de texto sin usar sendKeys()?

¡Sí! El texto se puede introducir en un cuadro de texto utilizando el controlador JavaScriptExecutor

JavascriptExecutor JSE = (JavascriptExecutor);

jse.executeScript («document.getElementById (‘correo electrónico’).,valor=»[email protected]»);

¿cómo seleccionar un valor de un menú desplegable en Selenium WebDriver?

seleccionar clase en WebDriver se utiliza para seleccionar y deseleccionar opciones en un menú desplegable.

Los Objetos De Select type se pueden inicializar pasando el menú desplegable webElement como parámetro a su constructor.

webelement testDrop = driver. findElement(By.id («testingDropdown»));

select desplegable = New Select (testDrop);

WebDriver ofrece tres formas de seleccionar de un menú desplegable:

selectByIndex: selección basada en el índice a partir de 0

desplegable.,selectByIndex (5);

selectByValue: selección basada en el valor

desplegable.selectByValue («Books»);

selectByVisibleText: selección de la opción que muestra el texto que coincide con el argumento dado

desplegable.selectByVisibleText («The Alchemist»);

¿qué hace el comando switchTo ()?

el comando switchTo () se utiliza para cambiar entre ventanas, marcos o ventanas emergentes dentro de la aplicación. Cada ventana instanciada por el WebDriver recibe un valor alfanumérico único llamado «window Handle».,

obtenga el controlador de ventana de la ventana que desea cambiar a

string handle = driver.getWindowHandle ();

cambia a la ventana deseada

driver.switchTo().window (handle);

alternativamente

for (String handle = driver.getWindowHandles ())

{ driver.switchTo().window (handle);}

¿cómo cargar un archivo en Selenium WebDriver?

puede lograr esto usando sendkeys() o el método de clase Robot. Localice el cuadro de texto y establezca la ruta del archivo usando sendkeys () y haga clic en el botón submit

localice el botón browse

webelement browse =driver.,findElement(By.id («uploadfile»));

pasa la ruta del archivo a cargar usando el método sendKeys

browse.sendKeys(«D:\\SeleniumInterview\\UploadFile.txt»);

¿cómo configurar el tamaño de la ventana del navegador en Selenium?

el tamaño de la ventana se puede maximizar, establecer o redimensionar

para maximizar el controlador de la ventana

.gestionar().ventana().maximizar();

Para establecer el tamaño de la ventana

la Dimensión d = nueva Dimensión(400,600);

controlador.gestionar().ventana().setSize (D);

alternativamente,

El tamaño de la ventana se puede restablecer usando JavaScriptExecutor

((JavascriptExecutor) driver).,executeScript («window.resizeTo(1024, 768)»);

¿cuándo usamos findElement () y findElements ()?

findElement() se utiliza para acceder a cualquier elemento de la página web. Devuelve el objeto del primer elemento coincidente del localizador especificado.

sintaxis General:

WebElement element = driver. findElement(By.id (ejemplo));

findElements () se utiliza para encontrar todos los elementos de la página web actual que coincidan con el valor de localizador especificado. Todos los elementos coincidentes se obtendrían y almacenarían en la lista de elementos Web.,

sintaxis General:

Lista de <WebElement> elementList = controlador.findElements(Por.id(ejemplo));

¿Qué es una pausa en una excepción en Selenium IDE?

el usuario puede usar esta función para manejar excepciones haciendo clic en el icono de pausa en la esquina superior derecha del IDE. Cuando el script encuentra una excepción, se detiene en esa instrucción en particular y entra en un modo de depuración. Todo el caso de prueba no falla y, por lo tanto, el usuario puede rectificar el error inmediatamente.,

¿Cómo iniciar sesión en cualquier sitio si muestra una ventana emergente de autenticación para nombre de usuario y contraseña?

para manejar las ventanas emergentes de autenticación, verifique su apariencia y luego manejarlas usando un comando de espera explícito.

Use el comando wait explícito

WebDriverWait wait = new WebDriverWait(driver, 10);

La Clase Alert se usa para verificar la alerta

Alert alert = wait.hasta (ExpectedConditions.alertIsPresent ());

Una vez verificado, proporcione la alerta de credenciales

.,authenticateUsing(New UserAndPassword(<username>, <password>));

Cuál es la diferencia entre barra simple y doble en ¿XPath?

una barra oblicua se usa para crear XPath con una ruta absoluta, es decir, el XPath se crearía para iniciar la selección desde el nodo de inicio.

/ html / body / div / div/div / A

La Barra doble se usa para crear Xpath con ruta relativa, es decir., el XPath se crearía para iniciar la selección desde cualquier lugar dentro del documento

//div/a

¿cómo encontrar enlaces rotos en Selenium WebDriver?

Cuando usamos el controlador.método get () para navegar a una URL, responderá con un estado de 200-OK

200-OK denota que el enlace está funcionando y se ha obtenido. Si se obtiene cualquier otro estado, entonces es una indicación de que el enlace está roto.,

algunos de los códigos de estado HTTP son :

  • 200 – enlace válido
  • 404-enlace no encontrado
  • 400 – Solicitud incorrecta
  • 401 – no autorizado
  • 500 – error interno

como iniciador, obtenga los enlaces de la aplicación web y luego obtenga individualmente su estado.

vaya a la página web interesada para p. ej. www.amazon.com

recoge todos los enlaces de la página web. Todos los enlaces están asociados con la etiqueta ‘a’

List<WebElement> links = driver.findElements (By.,tagname («a»));

crear una lista de tipo WebElement para almacenar todos los elementos de enlace en ella.

for(int i=0; i<enlaces.size (); I++) {

WebElement element = links.get (I);

String url=element.getAttribute («href»);

verifyLink (url); }

ahora crea una conexión usando el objeto URL (p. e ., link)

URL link = new URL(urlLink);

Connect using Connect Method

HttpURLConnection httpConn =(HttpURLConnection)link.openConnection ();

Use getResponseCode () para obtener el código de respuesta

if (httpConn.getResponseCode ()!,= = 200)

a través de excepción, si se produjo algún error

Sistema.fuera.println («enlace roto»);

su próximo paso hacia el éxito

después de pasar por estas preguntas de la entrevista de selenio, usted habría entendido, qué tipo de preguntas se pueden hacer y cómo responderlas.

tenemos un experto en la industria que ilustra ciertas piezas de código mientras explica cómo responder las preguntas. Si desea embarcarse en su viaje como ingeniero de automatización de pruebas, aquí hay un curso de certificación que le será útil. Echa un vistazo al curso de formación de selenio de Simplilearn., Esta capacitación está diseñada para capacitar a desarrolladores y probadores manuales para aprender a automatizar aplicaciones web con un marco sólido, e integrarlo dentro de los procesos DevOps de una organización, y ayudarlo a dominar conceptos importantes como TestNG, Selenium IDE y Selenium Grid.

Articles

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *