50+ Preguntas y Respuestas Importantes para Entrevistas sobre Selenium 2023
¡Prepárate para llevar tu preparación para entrevistas de Selenium al siguiente nivel! En esta emocionante publicación, hemos recopilado más de 50 preguntas y respuestas esenciales para entrevistas sobre Selenium, específicamente adaptadas para el año 2023. Abróchate el cinturón, porque estamos a punto de equiparte con el conocimiento y la confianza que necesitas para superar tu próxima entrevista de Selenium.
1. ¿Qué es Selenium?
Selenium es una herramienta de prueba de software súper buena que puede detectar y eliminar errores molestos en aplicaciones web. Es una herramienta de prueba de software dinámica que es venerada por desarrolladores, probadores de control de calidad, propietarios de sitios web y cualquier persona que quiera asegurarse de que sus aplicaciones web estén libres de errores y fallos. Selenium es también una popular gema de código abierto que te permite poner a prueba las aplicaciones web en varios navegadores, plataformas y entornos.
2. ¿Cuáles son algunos beneficios de Selenium?
Selenium aporta una multitud de beneficios. ¡Es una verdadera potencia!
Una de las ventajas clave de Selenium es su versatilidad. Es tu herramienta preferida para probar navegadores web, aplicaciones web e incluso interfaces de usuario. Pero espera, ¡hay más! Selenium te permite ejecutar pruebas de forma remota, permitiéndote escudriñar tu software en diferentes entornos sin esfuerzo.
Además, Selenium cuenta con la notable capacidad de verificar los resultados de las pruebas y desenterrar aquellos errores furtivos que intentan pasar desapercibidos. Con Selenium a tu lado, puedes abordar varios tipos de pruebas con facilidad, desde pruebas funcionales y de rendimiento hasta pruebas de regresión. ¡Es un verdadero todoterreno!
3. ¿Qué es el Proceso de Pruebas con Selenium?
¡Pero eso no es todo! Las Pruebas con Selenium van más allá de la superficie, adentrándose en las profundidades del rendimiento y la compatibilidad. Escudriña meticulosamente el rendimiento de tu sitio web en diferentes navegadores, sin dejar piedra por mover. Con las Pruebas con Selenium, puedes estar seguro de que tu sitio web funcionará como una estrella, sin importar el navegador que encuentre.
4. ¿Cuáles son los diferentes tipos de pruebas que se pueden realizar usando Selenium?
-
WebDriver: Considerado la columna vertebral de Selenium, WebDriver es tu mejor opción para pruebas basadas en navegador. Te pone en el asiento del conductor, permitiéndote controlar el navegador y simular interacciones de usuario.
-
Interfaz de Usuario: Selenium te permite tomar el control de la interfaz de usuario de las aplicaciones web. Ya sea que estés probando formularios, ventanas o menús, Selenium te permite escudriñar cada píxel e interacción para garantizar una experiencia de usuario perfecta.
-
Navegador: Con Selenium, ganas control sobre el propio navegador. Imagina probar el comportamiento de tu aplicación web en diferentes navegadores, detectando cualquier peculiaridad o inconsistencia y garantizando una experiencia perfecta en todos ellos.
-
Contextual: Selenium te permite probar tu aplicación web en diferentes contextos o situaciones. Al simular varios escenarios, puedes asegurarte de que tu aplicación se comporte de manera constante e impecable, independientemente de las circunstancias.
-
Dispositivo: En el mundo actual dominado por los móviles, probar el comportamiento de tu aplicación web en diferentes dispositivos es crucial. Selenium te permite tomar el control de diferentes dispositivos, permitiendo pruebas integrales y garantizando una experiencia de usuario estelar, sin importar el tamaño de la pantalla o la plataforma.
-
Remoto: ¡La versatilidad de Selenium no conoce límites! Te permite controlar un ordenador remoto, haciendo las pruebas remotas pan comido. Con esta función, puedes evaluar sin esfuerzo el comportamiento de tu aplicación web en una variedad de configuraciones remotas.
-
Servicios Web: Selenium no se limita solo a probar el front-end. También se puede utilizar para probar servicios web, garantizando una comunicación fluida entre tu aplicación y los servicios externos. Al probar el comportamiento de tu aplicación web cuando interactúa con servicios web, puedes detectar cualquier problema de integración desde el principio.
-
Cross-Browser: ¡Di adiós a los problemas específicos del navegador! Con Selenium, puedes asegurarte de que tu aplicación brille intensamente, ofreciendo una experiencia consistente y perfecta a los usuarios, sin importar su preferencia de navegador.
-
Cross-Platform: Selenium te permite probar el comportamiento de tu aplicación web en diferentes plataformas, asegurando que funcione perfectamente independientemente del sistema operativo o plataforma desde la que se acceda.
-
Aplicación Web: En el corazón de todo, Selenium es un campeón cuando se trata de probar el comportamiento de las aplicaciones web. Desde probar la funcionalidad hasta garantizar una experiencia de usuario fluida, Selenium es tu compañero de confianza durante todo el proceso de prueba de aplicaciones web.
5. ¿Qué navegadores web son compatibles con las Pruebas con Selenium?
Las Pruebas con Selenium y la compatibilidad con navegadores lo hacen destacar. Garantiza una experiencia perfecta en diferentes navegadores. Es compatible con los principales navegadores, por lo que puedes disfrutar del rendimiento ultrarrápido de Chrome, la magia de código abierto de Firefox, el territorio familiar de IE, la elegancia de Opera y el abrazo elegante de Safari. ¡Eso no es todo! Selenium va más allá al ser compatible con Internet Explorer 10 y 11, asegurando que tu aplicación web brille en estas versiones.
6. ¿Cuáles son los diferentes tipos de problemas que se pueden identificar usando Selenium?
Selenium es muy potente para identificar y conquistar problemas en las páginas web. Es una herramienta de prueba que descubre intrépidamente los fallos ocultos que acechan dentro de tus páginas web, permitiéndote intervenir rápidamente y rectificarlos antes de que causen estragos. Desde duendecillos funcionales molestos como enlaces rotos y botones que no responden, hasta rompecabezas de compatibilidad en varios navegadores y plataformas, Selenium te cubre las espaldas. También puede revelar cuellos de botella en el rendimiento, asegurando que tu aplicación web rinda al máximo al exponer páginas de carga lenta y componentes que consumen muchos recursos. Ah, y no olvidemos el fascinante mundo de las peculiaridades específicas del navegador. Selenium te ayuda a domar estas bestias salvajes probando tu aplicación en diferentes navegadores, garantizando una experiencia de usuario consistente y agradable.
7. ¿Cuáles son los diferentes tipos de usuarios para las Pruebas con Selenium?
Con Selenium, puedes dirigirte a una amplia gama de usuarios. Es una herramienta de prueba que puede ayudar a que tu aplicación web atienda las necesidades de diferentes grupos de usuarios. A saber, Funcional, Rendimiento y Otros.
Los otros usuarios son los pioneros que utilizan tu producto para fines no funcionales. Pueden incluir administradores, desarrolladores o incluso entusiastas curiosos que exploran las profundidades de las capacidades de tu aplicación.
8. ¿Cuáles son las herramientas para las Pruebas con Selenium?
Selenium ofrece un tesoro de herramientas para automatizar tu proceso de prueba, haciendo tu vida como desarrollador mucho más fácil. Algunas de estas herramientas encantadoras incluyen; WebDriver y ChromeDriver.
9. ¿Cuáles son las ventajas de las pruebas automatizadas?
Esta es una pregunta popular en cualquier entrevista para un puesto de pruebas de automatización.
-
Ahorra tiempo y dinero.
-
Las pruebas de automatización son más eficientes en la ejecución.
-
Reutilización de código. Crea una vez y ejecuta varias veces con poco o ningún mantenimiento.
-
Informes simples. Tras la ejecución de la prueba, crea informes automatizados.
-
Pruebas de compatibilidad simples. Facilita la ejecución paralela en una variedad de sistemas operativos y contextos de navegador.
-
El mantenimiento es económico. A largo plazo, es menos costoso que las pruebas manuales.
-
Las pruebas automatizadas son más fiables.
-
Las pruebas automatizadas son más adaptables y potentes. Podemos combinar herramientas de automatización con Herramientas de Pruebas Multi-navegador, Jenkins, Github y otros servicios.
-
Se usa principalmente en pruebas de regresión. Permite la ejecución de escenarios de prueba repetidos.
-
Se requiere una intervención manual mínima. Es posible la ejecución desatendida de scripts de prueba.
-
Cobertura completa. Ayuda a aumentar la cobertura de las pruebas.
10. ¿Cuáles son los problemas y limitaciones de Selenium WebDriver?
Selenium WebDriver, desafortunadamente, se queda corto cuando se trata de probar aplicaciones Windows. Si bien sobresale en las pruebas de aplicaciones web, no puede extender sus alas para abrazar el ámbito de las aplicaciones de escritorio de Windows. Por desgracia, debemos buscar herramientas alternativas para este tipo específico de pruebas.
Las pruebas de aplicaciones móviles son otra frontera donde Selenium WebDriver enfrenta sus limitaciones.
La carga de páginas puede ser otro obstáculo en nuestro viaje con Selenium. A veces, las páginas web tardan un tiempo en cargarse completamente, y si no somos cautelosos, WebDriver puede intentar interactuar con elementos que aún no están disponibles. Esto puede llevar a fallos en las pruebas y resultados inexactos. Las técnicas de sincronización y esperas adecuadas pueden venir al rescate aquí, permitiéndonos manejar con gracia los escenarios de carga de páginas.
11. ¿Qué tipos de pruebas automatizaste?
Nuestro objetivo principal es automatizar casos de prueba para Regresión, Humo (Smoke) y Sanidad (Sanity). Nos concentramos en pruebas de Extremo a Extremo (End to End) en ocasiones, dependiendo del proyecto y la duración estimada de la prueba.
12. ¿Cuántos casos de prueba automatizas cada día?
Esta es una de las Preguntas Complicadas en Entrevistas de Selenium.
En realidad, está determinado por la complejidad y la duración del escenario del caso de prueba. Cuando la complejidad es baja, puedo automatizar de 2 a 5 casos de prueba por día. Cuando la complejidad es grande, solo 1 o menos casos de prueba pueden ejecutarse en un día.
13. ¿Qué es exactamente un framework?
Un framework es un conjunto de reglas o mejores prácticas que podemos usar para alcanzar los objetivos deseados de una manera metódica. Hay varios tipos de frameworks de automatización, los más prominentes son:
-
Framework de Pruebas Basado en Datos (Data-Driven Testing Framework)
-
Framework de Pruebas Basado en Palabras Clave (Keyword Driven Testing Framework)
-
Framework de Pruebas Híbrido (Hybrid Testing Framework)
-
Framework Basado en Comportamiento (Behavioural Driven Framework)
14. ¿Qué tipos de casos de prueba deben automatizarse?
Aquí están los casos de prueba para automatizar:
-
Casos de estudio basados en datos
-
Situaciones de prueba complejas
-
Escenarios de prueba con modificaciones en la base de datos
-
Alta tasa de ejecución de pruebas
-
Pruebas Críticas/de Humo (Smoke)
-
Experimentos con combinaciones
-
Casos de prueba graficados
-
Mayor tiempo de ejecución manual
15. ¿Qué tipos de casos de prueba no deben automatizarse?
El siguiente tipo de casos de prueba no debe automatizarse:
-
Validación subjetiva
-
Nuevas capacidades
-
Planificación estratégica
-
Enfoque en la experiencia de usuario
-
Funcionalidad compleja
-
Control de calidad
-
Bajo ROI (Retorno de la Inversión)
-
Pruebas de instalación y configuración
16. ¿Cuáles son los beneficios de usar un Framework de Automatización de Pruebas?
-
Reutilización de código.
-
Informes simples.
-
El mantenimiento es económico.
-
Protección máxima.
-
Intervención manual limitada.
17. ¿Tienes algún Framework?
-
Si estás empezando: Puedes decir: «No, no tuve la oportunidad de diseñar un framework desde cero. Utilicé un framework que ya estaba disponible. Mi principal contribución es la creación de casos de prueba utilizando el framework actual.»
-
Si eres principiante pero tienes experiencia previa diseñando frameworks: Puedes responder: «Sí, he participado en el desarrollo de frameworks con otros probadores de automatización en mi organización.»
-
Si eres un probador con experiencia: Puedes decir «He contribuido a la construcción de un framework.» o puedes decir «Sí, he diseñado un framework desde el principio. Mi organización anterior no tenía un procedimiento automatizado. Creé la estructura desde cero.»
18. ¿Cuáles son los componentes del suite de Selenium?
-
IDE de Selenium: Es un complemento de Firefox/Chrome diseñado para acelerar la escritura de scripts de automatización. Captura las actividades del navegador web del usuario y las guarda en un script reutilizable.
-
Control Remoto de Selenium (RC): El servidor RC permite a los usuarios crear pruebas de aplicaciones en una variedad de lenguajes de programación. Este servidor acepta comandos de scripts de prueba y los envía al navegador como instrucciones JavaScript del núcleo de Selenium. El navegador luego actúa apropiadamente.
-
WebDriver de Selenium: WebDriver es una interfaz de programación que ayuda en la creación y ejecución de casos de prueba. Incluye la capacidad de operar en objetos web. WebDriver, a diferencia de RC, no necesita un servidor adicional y se comunica con las aplicaciones del navegador directamente.
-
Grid de Selenium: El grid se desarrolló para entregar instrucciones a varios ordenadores al mismo tiempo. Permite la ejecución concurrente de pruebas en varios navegadores y sistemas operativos. Es muy adaptable y puede usarse en conjunto con otros componentes del suite para una ejecución simultánea.
19. ¿Cuáles son las limitaciones de las pruebas con Selenium?
-
Falta de soporte técnico confiable: Debido a que Selenium es una tecnología de código abierto, no tiene asistencia técnica especializada para responder las preguntas de los usuarios.
-
Solo se prueban aplicaciones web: Para probar aplicaciones de escritorio y móviles, Selenium debe conectarse con tecnologías de terceros como Appium y TestNG.
-
Soporte limitado para pruebas de imágenes.
-
No tiene capacidad de generación de informes o gestión de pruebas integrada: Para facilitar la generación de informes y la gestión de pruebas, Selenium debe conectarse con tecnologías como TestNG o JUnit, entre otras.
-
Puede requerir conocimiento de lenguajes de programación: Selenium WebDriver asume que el usuario tiene algunas habilidades básicas de programación.
20. ¿Qué tipos de pruebas admite Selenium?
Selenium permite tanto pruebas de regresión como pruebas funcionales.
-
Pruebas de regresión: Es una re-ejecución total o parcial de casos de prueba previamente realizados para confirmar que la funcionalidad actual continúa operando correctamente.
-
Los pasos son los siguientes:
-
Re-prueba: Todas las pruebas en la suite de pruebas actual se ejecutan nuevamente. Resulta ser bastante costoso y consume mucho tiempo.
-
Selección de pruebas de regresión: Las pruebas se dividen en tres tipos: pruebas de características, pruebas de integración y pruebas de extremo a extremo. Algunas de las pruebas se eligen en esta etapa.
-
Priorización de casos de prueba: Los casos de prueba seleccionados se priorizan en función de su impacto comercial y funciones importantes.
-
-
-
Pruebas funcionales: Implica verificar que cada función de la aplicación cumpla con las especificaciones necesarias.
-
Los pasos involucrados son los siguientes:
-
Determinar la entrada de la prueba
-
Calcular el resultado del examen
-
Llevar a cabo el examen
-
Contrastar el resultado de la prueba con el resultado real.
-
-
21. ¿Cuál es la diferencia entre Selenium 2.0 y 3.0?
-
Selenium 2.0: Es un programa que facilita la creación de pruebas automatizadas para aplicaciones web. Simboliza la unión del proyecto Selenium con el proyecto WebDriver. Selenium RC ha quedado obsoleto después de la fusión, sin embargo, todavía se usa para compatibilidad con versiones anteriores.
-
Selenium 3.0: Es una versión más completa de Selenium 2.0. Es compatible con versiones anteriores por diseño y no necesita Selenium RC. La versión actualizada incluyó varias correcciones de errores y mejoró la estabilidad.
22. ¿Qué es exactamente la política del mismo origen (same-origin policy) y cómo se implementa?
La política del mismo origen se implementó por razones de seguridad. Esta política establece que un navegador web permite que los scripts de un sitio accedan a los contenidos de otra página web siempre que ambas páginas tengan el mismo origen. El origen está compuesto por el esquema de URL, el nombre de host y el número de puerto.
Un script malicioso en un sitio web no puede acceder a datos sensibles en otro debido a la Política del Mismo Origen.
Considere la aplicación JavaScript Google.com. Esta aplicación de prueba tiene acceso a todos los sitios del dominio Google, como google.com/login y google.com/mail. Sin embargo, no puede acceder a sitios de otros dominios como yahoo.com.
Para solucionar esto, se creó Selenium RC. El servidor funciona como un proxy HTTP configurado por el cliente, engañando al navegador para que piense que Selenium Core y la aplicación web bajo prueba son ambos del mismo lugar.
23. ¿Es posible automatizar Captcha?
No, Captcha no se puede automatizar usando Selenium. El propósito completo de Captcha es evitar que los bots y programas automatizados accedan a información sensible, por lo que Selenium no puede automatizarlo. El ingeniero de prueba de automatización debe ingresar el captcha manualmente, aunque otras áreas pueden completarse automáticamente.
24. ¿Cómo maneja Selenium las ventanas emergentes (pop-ups) en Windows?
Selenium fue creado para probar aplicaciones web. Selenium no admite de forma nativa las capacidades basadas en Windows. Sin embargo, herramientas de terceros como AutoIT, Robot y otras, pueden conectarse con Selenium para manejar ventanas emergentes y otras funciones basadas en Windows.
25. ¿Qué es exactamente Selenese? ¿Qué clasificación tiene?
Selenese es un conjunto de comandos de Selenium utilizados para probar tu aplicación web. Usando Selenese, el probador puede probar enlaces rotos, la presencia de un elemento en la UI, capacidades Ajax, notificaciones, ventanas, opciones de lista y mucho más.
-
Acción: Comandos que interactúan con la aplicación directamente.
-
Accessors: Permiten al usuario guardar ciertos valores en una variable definida por el usuario.
-
Assertions: Compara el estado actual de la aplicación con un estado esperado.
26. ¿Por qué Selenium es una herramienta de prueba tan popular?
-
Selenium es simple de usar ya que está escrito en JavaScript.
-
Selenium puede probar aplicaciones web contra una variedad de navegadores, incluidos Firefox, Opera, Chrome y Safari.
-
Se pueden usar lenguajes de programación como Java, Perl, Python y PHP para escribir el código de prueba.
-
Selenium es independiente de la plataforma y puede usarse en varios sistemas operativos, incluidos Windows, Linux y Macintosh.
-
Para la gestión de pruebas, Selenium puede conectarse con tecnologías de terceros como JUnit y TestNG.
27. ¿WebDriver es una clase o una interfaz?
WebDriver es una interfaz pública, no una clase. Simplemente construimos una variable de referencia de la interfaz WebDriver (driver). Ahora podemos asignar una instancia de una clase (como la clase FirefoxDriver) que implementa la interfaz WebDriver para usar los métodos de WebDriver.
28. ¿Qué es la interfaz de WebDriver?
Para mejorar la herramienta Selenium con una plétora de funciones, los desarrolladores adoptaron un enfoque ingenioso: crear WebDriver como una interfaz. Este enfoque reconoció las variaciones en la lógica del navegador que Selenium necesitaba acomodar.
Al diseñar WebDriver como una interfaz, los desarrolladores establecieron un mecanismo que consistía únicamente en métodos abstractos. Estos métodos abstractos, desprovistos de cualquier implementación específica, proporcionaron a los usuarios una plataforma flexible para expresar su lógica y razonamiento. La interfaz WebDriver se convirtió en una puerta de entrada para liberar todo el potencial de Selenium, permitiendo a los usuarios aprovechar sus capacidades a través de declaraciones de métodos abstractos.
29. ¿Cómo funciona Selenium WebDriver?
Selenium WebDriver opera en tres etapas distintas, cada una con un propósito crucial en su funcionalidad:
-
Transmisión de Instrucciones: En el primer paso, las instrucciones que comprenden código de programación y comandos Selenese se transmiten al servidor de Selenium WebDriver a través de la línea de comandos del servidor de Selenium.
-
Entrega de Instrucciones Javascript: Pasando a la segunda etapa, el Servidor de Selenium WebDriver entrega instrucciones Javascript al Controlador del Navegador Web (Web Browser Driver). Este proceso implica aprovechar las librerías Javascript para establecer una comunicación fluida entre el servidor de Selenium WebDriver y los componentes del controlador del navegador web.
-
Interacción con la Aplicación Web: La tercera y última fase gira en torno a la interacción entre los componentes del Controlador del Navegador Web de Selenium y la aplicación web. Aquí, se ejecutan las instrucciones de Selenium para realizar actividades del usuario, incluida la entrada de texto, la pulsación de botones y otras interacciones de usuario esenciales para las pruebas y la automatización.
Estas tres etapas permiten colectivamente que Selenium WebDriver lleve a cabo sus tareas de manera efectiva y facilite una interacción perfecta entre el framework de pruebas y la aplicación web bajo escrutinio.
30. ¿Cuál es el nombre de la super interfaz de WebDriver?
En el ápice de la jerarquía de WebDriver, tenemos la interfaz SearchContext, que tiene una importancia inmensa en el framework Selenium. Actuando como la piedra angular, SearchContext define el contrato esencial para la búsqueda y manipulación de elementos dentro de una página web.
Complementando SearchContext está la interfaz WebDriver, que trabaja en conjunto para proporcionar capacidades poderosas para la automatización web. WebDriver sirve como una interfaz complementaria a SearchContext, ofreciendo funcionalidades adicionales y extendiendo las capacidades de descubrimiento e interacción de elementos.
En la interfaz WebDriver, encontrarás dos métodos clave: findElement() y findElements(). Estos métodos sirven como los medios principales para localizar e interactuar con elementos web, permitiendo a los usuarios realizar una amplia gama de tareas de prueba automatizadas y desarrollo web de manera eficiente.
Juntas, SearchContext y WebDriver forman una base robusta que empodera a los usuarios para buscar, localizar e interactuar efectivamente con elementos dentro de páginas web usando Selenium.
31. ¿Qué es RemoteWebDriver?
RemoteWebDriver es una clase de objeto importante dentro del framework Selenium. Sirve como una implementación de ambas interfaces, WebDriver y JavascriptExecutor, combinando sus funcionalidades en una sola entidad.
32. ¿Qué lenguajes de programación admite Selenium WebDriver?
Selenium WebDriver ofrece una compatibilidad extensiva con varios lenguajes de programación, permitiendo a los usuarios escribir código de automatización en su lenguaje preferido.
Aquí hay algunos de los lenguajes de programación admitidos:
-
Java:
-
C#:
-
PHP:
-
Python:
-
Ruby:
-
Perl:
Con la flexibilidad de elegir entre estos lenguajes de programación, los desarrolladores pueden aprovechar sus habilidades y preferencias existentes para crear código de automatización robusto y eficiente usando Selenium WebDriver.
33. ¿Qué sistemas operativos admite Selenium WebDriver?
Selenium WebDriver es compatible con una amplia gama de sistemas operativos, incluidos Windows, Linux, Mac OS, iOS y Android.
34. ¿Cuántas APIs de WebDriver hay en Selenium?
Selenium WebDriver proporciona soporte para una amplia gama de APIs de WebDriver, cada una diseñada para facilitar la interacción con navegadores web y plataformas específicas.
Aquí hay algunas de las APIs de WebDriver comúnmente utilizadas:
-
FirefoxDriver
-
InternetExplorerDriver
-
ChromeDriver
-
HTMLUnitDriver
-
OperaDriver
-
SafariDriver
-
AndroidDriver
-
iPhoneDriver
-
EventFiringWebDriver
35. ¿Qué frameworks tiene Selenium WebDriver con soporte para Java?
Al usar Selenium WebDriver con Java, los desarrolladores tienen la flexibilidad de elegir entre dos frameworks de prueba populares: JUnit y TestNG. Ambos frameworks proporcionan una manera robusta y eficiente de estructurar y ejecutar pruebas automatizadas.
36. ¿FirefoxDriver representa una clase o una interfaz?
La clase FirefoxDriver en Java es una implementación de la interfaz WebDriver proporcionada por Selenium. Especificamente permite la automatización del navegador web Firefox.
37. ¿Cómo podemos usar Selenium WebDriver para ejecutar un navegador web?
WebDriver es un tipo de interfaz. Al asignar una referencia WebDriver, construimos un objeto de una clase de controlador necesaria, como FirefoxDriver, ChromeDriver, InternetExplorerDriver, etc. Como ejemplo:
a. Para iniciar Firefox Driver, use la siguiente sintaxis: WebDriver driver = new FirefoxDriver ();
b. Para lanzar Chrome Driver, use la siguiente sintaxis: WebDriver driver = new ChromeDriver();
c. Para lanzar Internet Explorer Driver: WebDriver driver = new InternetExplorerDriver();
38. ¿Por qué adjuntar Firefox a una referencia WebDriver, por ejemplo, WebDriver driver = new FirefoxDriver();?
Porque nos permite asociar objetos de controlador con múltiples controladores de navegador, asignamos el objeto FirefoxDriver a la referencia WebDriver.
Si deseamos cambiar entre navegadores en la misma aplicación para pruebas multi-navegador, debemos construir múltiples objetos para cada navegador, lo cual es la peor forma de programación. Como resultado, establecemos una referencia WebDriver y asignamos un objeto de clase.
39. ¿Cuál es la diferencia entre WebDriver y FirefoxDriver?
FirefoxDriver es una clase que implementa la interfaz WebDriver, mientras que WebDriver es una interfaz.
40. ¿Cómo creas casos de prueba usando Selenium WebDriver?
Usando Localizadores de elementos (element Locators), métodos de Selenium WebDriver y herramientas de programación Java, podemos crear escenarios de prueba. Los WebElements se localizan en la página web usando localizadores de elementos.
Para realizar acciones en WebElement, se necesitan métodos de Selenium WebDriver. Java se usa para mejorar las capacidades de programación.
Para escribir casos de prueba, hay cinco procesos fundamentales que pueden usarse para cada caso de prueba y cualquier aplicación bajo prueba (AUT). Estos son sus nombres:
-
Hacer una nueva instancia de WebDriver.
-
Ir a una página Web específica.
-
Usando localizadores, localizar un elemento HTML en una página Web.
-
Aplicar una acción a un elemento HTML.
-
Ejecutar pruebas.
41. ¿Qué es exactamente Firebug?
Firebug es un complemento de Firefox que inspecciona elementos HTML en una página web durante las pruebas.
42. ¿Cuáles son las limitaciones y desventajas de WebDriver?
WebDriver tiene varias restricciones o desventajas. Son las siguientes:
a. WebDriver es solo para probar aplicaciones basadas en web. No podemos evaluar programas basados en Windows, aplicaciones de escritorio u otro software.
b. No es factible ejecutar la prueba en la imagen.
c. WebDriver no produce archivos de resultados de prueba automáticamente.
d. WebDriver no puede manejar navegadores modernos.
43. ¿Cuál es la implementación de WebDriver más rápida?
El HTMLUnit Driver es la implementación de WebDriver más eficiente.
44. ¿Qué es HTMLUnitDriver de Selenium?
HTMLUnitDriver es una herramienta que se usa para implementar rápidamente un navegador web para WebDriver.
No podemos ver la ejecución de la prueba en la pantalla ya que el controlador HTML unit ejecuta pruebas en segundo plano sin ninguna interrupción visible. Como resultado, la ejecución de pruebas se vuelve más rápida que la de otros controladores.
45. ¿Cuál es la diferencia entre HTMLUnitDriver y FirefoxDriver?
Hay algunas diferencias que podemos observar:
-
HTMLUnitDriver es más ligero que FirefoxDriver.
-
HTMLUnitDriver viene sin complementos, a diferencia de Firefox.
-
HTMLUnitDriver no tiene ninguna GUI (Interfaz Gráfica de Usuario) mientras que Firefox sí la tiene.
-
HTMLUnitDriver realiza la prueba y la completa más rápido que Firefox.
46. ¿Cuáles son los beneficios y inconvenientes de usar XPath absoluto con Selenium?
-
El beneficio de utilizar XPath absoluto es que detecta elementos rápidamente.
-
El inconveniente de utilizar XPath absoluto es que si algo sale mal o se inserta otra etiqueta en el medio, esta ruta ya no funcionará.
47. ¿Qué significa XPath Relativo en Selenium WebDriver?
XPath Relativo es XPath que comienza con una doble barra diagonal (//) y selecciona elementos desde cualquier lugar de la página web. Es una práctica excelente localizar elementos usando XPath relativo ya que reduce la posibilidad de una «ElementNotFoundException».
48. ¿Cuáles son los beneficios y inconvenientes de XPath relativo en Selenium WebDriver?
-
El beneficio de utilizar XPath relativo es que no necesitas escribir un XPath largo. También puedes comenzar en el medio.
-
El inconveniente de utilizar XPath relativo es que tarda más en identificar el elemento ya que proporcionamos una ruta parcial en lugar de la ruta completa.
49. En XPath, ¿cómo descubres elementos utilizando valores de atributos?
Podemos usar XPath para buscar elementos basándonos en sus valores de atributos. Veamos un ejemplo donde usaremos la propiedad ID para identificar el campo de nombre de usuario.
50. ¿Qué es exactamente un elemento web dinámico en un sitio web?
Un elemento web dinámico es aquel cuyas características cambian dinámicamente cuando se actualiza la página web o cuando se realizan otras acciones sobre él.
51. ¿Qué son los ejes XPath en Selenium?
Los ejes XPath en Selenium son técnicas para identificar elementos dinámicos que no se pueden encontrar usando métodos XPath convencionales, como ID, Classname, Name, etc.
52. ¿Cuáles son algunos de los métodos de eje XPath más utilizados en Selenium WebDriver?
Child, parent, ancestor, sibling, preceding, self, namespace, attribute y otros métodos de eje XPath son ampliamente utilizados en Selenium WebDriver.
53. ¿Qué son exactamente los valores atómicos?
Los valores atómicos no tienen padre ni hijos.
54. ¿Qué son exactamente los Hermanos (Siblings)?
Los hermanos son nodos que tienen el mismo padre. Los elementos title y body en el documento XML anterior son hermanos.
Se puede encontrar más experiencia con métodos de eje XPath en este tutorial: Ejes XPath con Selenium.
55. ¿Cómo puedo usar XPath para manejar Elementos Complejos y Dinámicos en Selenium?
En selenium, podemos manejar elementos complejos y dinámicos de la siguiente manera. Estos son sus nombres:
-
XPath Básico
-
XPath que Comienza con (Starts with)
-
XPath que Termina con (Ends with)
-
Usando Declaración «OR»
-
Usando Declaración «AND»
-
XPath por Texto (Text)
Esperamos que hayas disfrutado de nuestra publicación de blog sobre las 50+ preguntas y respuestas importantes para entrevistas de selenium para 2023. ¡Selenium es una gran herramienta para desarrolladores web, y es importante estar familiarizado con las preguntas y respuestas para que puedas superar tu próxima entrevista de selenium! No podemos esperar a ver las cosas increíbles que podrás hacer con esta poderosa herramienta, y te deseamos la mejor de las suertes en tu futura carrera como probador de Selenium.
