¿En qué debería concentrarme para descifrar la entrevista de automatización de Selenium?

La mayoría de las entrevistas se basan en papel y más se trabaja en los guiones. Más sabes y más lo bueno es!

En mi experiencia, la entrevista más difícil fue la sala de juntas más grande en la que las cámaras me observaban junto con los gerentes de proyecto y los expertos, y estoy escribiendo el código de selenio en una gran placa y explicando cómo funciona en el marco de automatización y qué se debe hacer desde ¡ahí!

Incluso si no conoce cosas pequeñas de Selenium, está bien, pero debería estar en condiciones de escribir guiones cuando se le pregunte.

Si desea saber cómo desarrollar marcos de automatización utilizando Selenium, debe comenzar con un libro de descenso:

Su objetivo final es recopilar preguntas para encontrar respuestas. Para simplificar su trabajo, lea las preguntas con respuestas:

Preguntas genéricas de selenio

Pregunta 1:

¿Qué es el selenio?

Responder:

Selenium es una herramienta de automatización del navegador que le permite operaciones automatizadas como: escribir, hacer clic y seleccionar desde un menú desplegable de una página web.

Pregunta 2:

¿En qué se diferencia Selenium de las herramientas comerciales de automatización de navegadores?

Responder:

Selenium es una biblioteca que está disponible en una gama de idiomas, es decir, java, C #, python, ruby, php, etc., mientras que la mayoría de las herramientas comerciales tienen capacidades limitadas para poder usar un solo idioma. Más de muchas de esas herramientas tienen su propio lenguaje propietario que es de poca utilidad fuera del dominio de esas herramientas. La mayoría de las herramientas comerciales se centran en grabar y reproducir, mientras que Selenium hace hincapié en el uso de la herramienta Selenium IDE (Selenium record and replay) solo para familiarizarse con el funcionamiento de Selenium y luego pasar a bibliotecas Selenium más maduras como Control remoto (Selenium 1.0) y Web Driver (Selenium 2.0).

Aunque la mayoría de las herramientas comerciales tienen capacidades incorporadas de informes de prueba, los mecanismos de recuperación de errores y Selenium no proporcionan tales características de manera predeterminada. Pero dado el rico conjunto de idiomas disponibles con Selenium, es muy fácil emular tales características.

Pregunta 3:

¿Cuáles son las herramientas disponibles con Selenium?

Responder:

Selenium tiene cuatro herramientas: Selenium IDE, Selenium 1.0 (Selenium RC), Selenium 2.0 (WebDriver) y Selenium Grid. Selenium Core es otra herramienta, pero como está disponible como parte de Selenium IDE y Selenium 1.0, no se utiliza de forma aislada.

Pregunta 4:

¿Qué herramienta de selenio debo usar?

Responder:

Todo se reduce a su posición actual en términos de uso de selenio. Si es completamente nuevo en Selenium, debe comenzar con Selenium IDE para aprender estrategias de ubicación de Selenium y luego pasar a Selenium 2, ya que es la biblioteca de Selenium más estable y el futuro de Selenium. Use Selenium Grid cuando desee distribuir su prueba en múltiples dispositivos. Si ya está utilizando Selenium 1.0, entonces debería comenzar a migrar sus scripts de prueba a Selenium 2.0

Pregunta 5:

¿Qué es Selenium IDE?

Responder:

Selenium IDE es un complemento de Firefox que (en general) se utiliza para grabar y reproducir pruebas en el navegador Firefox. Selenium IDE solo se puede usar con el navegador Firefox.

Pregunta 6:

¿Qué idioma se usa en Selenium IDE?

Responder:

Selenium IDE utiliza un tipo de lenguaje html llamado selenese. Aunque otros idiomas (java, c #, php, etc.) no se pueden usar con Selenium IDE, Selenium IDE le permite convertir la prueba en estos idiomas para que puedan usarse con Selenium 1.0 o Selenium 2.0

Pregunta 7:

¿Qué es el selenio 1.0?

Responder:

Selenium 1.0 o Selenium Remote Control (conocido popularmente como Selenium RC) es una biblioteca disponible en una amplia variedad de idiomas. La razón principal del advenimiento de Selenium RC fue la incapacidad de Selenium IDE para ejecutar pruebas en un navegador que no sea Selenium IDE y las limitaciones programáticas del lenguaje selenés utilizado en Selenium IDE.

Pregunta 8:

¿Qué es el selenio 2.0?

Responder:

Selenium 2.0 también conocido como WebDriver es la última oferta de Selenium. Proporciona

• mejor API que Selenium 1.0

• no sufre la restricción de seguridad del script java que hace Selenium 1.0

• admite más operaciones de interfaz de usuario más complicadas como arrastrar y soltar

Pregunta 9:

¿Cuáles son los localizadores de elementos disponibles con Selenium que podrían usarse para ubicar elementos en la página web?

Responder:

Se utilizan principalmente 4 localizadores con selenio –

• identificación html

• nombre html

• Localizador XPath y

• localizadores de CSS

Pregunta 10:

¿Qué es la cuadrícula de selenio?

Responder:

La cuadrícula de selenio le permite distribuir sus pruebas en varias máquinas y todas ellas al mismo tiempo. Por lo tanto, puede ejecutar la prueba en IE en Windows y Safari en la máquina Mac utilizando el mismo script de prueba (bueno, casi siempre). Esto ayuda en gran medida a reducir el tiempo de ejecución de la prueba y proporciona comentarios rápidos a los poseedores de la pila.

Selenium IDE Preguntas

Pregunta 11:

¿Cuáles son dos modos de vistas en Selenium IDE?

Responder:

Selenium IDE se puede abrir en la barra lateral (Ver> Barra lateral> Selenium IDE) o como una ventana emergente (Herramientas> Selenium IDE). Mientras usa Selenium IDE en la barra lateral del navegador, no puede registrar las operaciones del usuario en una ventana emergente abierta por la aplicación.

Pregunta 12:

¿Puedo controlar la ejecución de la prueba de velocidad y pausa en Selenium IDE?

Responder:

Selenium IDE proporciona un control deslizante con punteros Lento y Rápido para controlar la velocidad de ejecución.

Pregunta 13:

¿Dónde veo los resultados de la ejecución de prueba en Selenium IDE?

Responder:

El resultado de la ejecución de la prueba puede ser vistas en la ventana de registro en Selenium IDE –

Pregunta 14:

¿Dónde veo la descripción de los comandos utilizados en Selenium IDE?

Responder:

Los comandos de descripción se pueden ver en la sección de Referencia –

Pregunta 15:

¿Puedo construir una suite de prueba usando Selenium IDE?

Responder:

Sí, primero puede registrar casos de prueba individuales y luego agruparlos en un conjunto de pruebas. Seguir todo este conjunto de pruebas podría ejecutarse en lugar de ejecutar pruebas individuales.

Pregunta 16:

¿Qué puntos de verificación están disponibles con Selenium?

Responder:

Existen en gran medida tres tipos de puntos de verificación disponibles con Selenium:

• Verifique el título de la página

• Verifique cierto texto

• Verifique cierto elemento (cuadro de texto, menú desplegable, tabla, etc.)

Pregunta 17:

Veo dos tipos de verificación con Selenium: verificación y afirmación, ¿cuál es la diferencia entre remolcar?

Responder:

• Una verificación de verificación permite que la ejecución de la prueba continúe incluso después de una falla con la verificación, mientras que la aserción detiene la ejecución de la prueba. Considere un ejemplo de verificación de texto en la página, puede usar el punto de verificación y dejar que la ejecución de la prueba continúe incluso si el texto no está presente. Pero para una página de inicio de sesión, desea agregar una afirmación para la presencia del inicio de sesión del cuadro de texto, ya que no tiene sentido continuar con la ejecución de la prueba si el cuadro de texto de inicio de sesión no está presente.

Pregunta 18:

No veo puntos de verificación agregados a mis pruebas mientras uso Selenium IDE, ¿cómo puedo agregarlos a mis pruebas?

Responder:

Debe usar el menú contextual para agregar puntos de verificación a sus pruebas IDE de Selenium:

Pregunta 19:

¿Cómo edito las pruebas en Selenium IDE?

Responder:

Hay dos formas de editar pruebas en Selenium IDE; una es la vista de tabla mientras que otra busca el código fuente de los comandos grabados:

Pregunta 20:

¿Qué es la sintaxis de comando utilizada en Selenium?

Responder:

Hay tres entidades asociadas con un comando:

• Nombre del comando

• Localizador de elementos (también conocido como Target)

• Valor (requerido cuando se usa echo, esperar, etc.)

Pregunta 21:

Hay toneladas de Selenium Command, ¿voy a usarlas todas?

Responder:

Esto se reduce completamente a las operaciones que está llevando a cabo con Selenium. Aunque definitivamente usarías los siguientes comandos de selenio con más frecuencia:

• Abrir: abre una página web.

• click / clickAndWait: haz clic en un elemento y espera a que se cargue una nueva página.

• Seleccionar: selecciona un valor de un valor desplegable.

• verifiedTitle / afirmeTitle: verifica / afirma el título de la página.

• verificar / afirmar ElementPresent: verifica / afirma la presencia del elemento, en la página.

• verificar / afirmar TextPresent verifica / afirma el texto esperado en algún lugar de la página.

Pregunta 22:

¿Cómo uso la identificación y el nombre html mientras uso Selenium IDE?

Responder:

La identificación y el nombre de HTML se pueden usar tal como están en IDE de selenio. Por ejemplo, el cuadro de búsqueda de Google tiene nombre – “q” e id – “list-b” y se pueden usar como destino en selenio IDE –

Pregunta 23:

¿Qué es XPath? ¿Cuándo tendría que usar XPath en Selenium IDE?

Responder:

XPath es una forma de navegar en un documento xml y esto se puede utilizar para identificar elementos en una página web. Puede que tenga que usar XPath cuando no hay un nombre / id asociado con el elemento en la página o solo una parte parcial del nombre / ide es constante.

El niño directo se denota con – /

El niño relativo se denota con – //

Id, clase, nombres también se pueden usar con XPath –

• // input [@ name = ‘q’]

• // input [@ id = ‘lst-ib’]

• // input [@ class = ‘lst’]

Si solo una parte de id / name / class es constante, se puede usar “contiene” como –

• // input [contiene (@ id, ‘lst-ib’)]

Pregunta 24:

¿Cuál es la estrategia de ubicación CSS en Selenium?

Responder:

La estrategia de ubicación CSS se puede usar con Selenium para localizar elementos, funciona utilizando métodos de ubicación de hoja de estilo en cascada en los que:

El hijo directo se denota con – (un espacio)

El niño relativo se denota con ->

Id, clase, nombres también se pueden usar con XPath –

• css = input [nombre = ‘q’]

• css = input [id = ‘lst-ib’] o input # lst-ib

• css = input [clase = ‘lst’] o input.lst

Si solo una parte de id / name / class es constante, se puede usar “contiene” como –

• css = input [id * = ‘lst-ib’)]

Estrategia de ubicación de elementos usando texto interno

• css = a: contiene (‘cerrar sesión’)

Pregunta 25:

Hay id, nombre, XPath, localizador CSS, ¿cuál debo usar?

Responder:

Si hay nombres / id constantes disponibles, entonces deberían usarse en lugar de los localizadores XPath y CSS. De lo contrario, se debe dar preferencia a los localizadores css ya que su evaluación es más rápida que XPath en la mayoría de los navegadores modernos.

Pregunta 26:

Quiero generar números aleatorios, fechas como mis datos de prueba, ¿cómo hago esto en Selenium IDE?

Responder:

Esto se puede lograr ejecutando Java Script en Selenium. El script Java se puede ejecutar usando la siguiente sintaxis:

tipo

css = input # s

javascript {Math.random ()}

Y para la fecha …

tipo

css = input # s

javascript {nueva fecha ()}

Pregunta 27:

¿Puedo almacenar el resultado de una evaluación y usarlo más adelante en mi prueba?

Responder:

Puede usar el comando “almacenar” para lograr esto. Puede guardar el resultado de una evaluación en una variable y utilizarlo más adelante en su secuencia de comandos Selenium IDE. Por ejemplo, podemos almacenar el valor de un cuadro de texto de la siguiente manera, y luego usarlo para escribirlo en otro cuadro de texto:

storeText

css = input # s

var1

tipo

css = input # d

$ {var1}

Pregunta 28:

He almacenado el resultado de una evaluación; ¿Puedo imprimirlo en IDE para verificar su valor?

Responder:

Puede usar el comando echo de la siguiente manera para verificar el valor almacenado en Selenium IDE:

storeText

css = input # s

var1

eco

$ {var1}

Pregunta 29:

¿Puedo manejar la alerta de script java usando Selenium?

Responder

Puede usar verificar / afirmar alerta para verificar la presencia de alertas en la página. Dado que el selenio no puede hacer clic en el botón “Aceptar” en la ventana de alerta js, la alerta en sí no aparece en la página cuando se realiza esta verificación.

Pregunta 30:

Selenium ha grabado mi prueba usando XPath, ¿cómo los cambio a css locator?

Responder

Puede usar el menú desplegable disponible junto a Buscar en Selenium para cambiar el localizador de elementos utilizado por Selenium:

Pregunta 31:

He escrito mi propio localizador de elementos, ¿cómo lo pruebo?

Responder

Puede usar el botón Buscar de Selenium IDE para probar su localizador. Una vez que haga clic en él, verá que el elemento se resalta en la pantalla siempre que su localizador de elementos sea correcto. De lo contrario, se mostrará un mensaje de error en la ventana de registro.

Pregunta 32:

He escrito una extensión js; ¿Puedo enchufarlo en Selenium y usarlo?

Responder

Puede especificar su extensión js en la ventana “Opciones” de Selenium IDE –

Pregunta 33:

¿Cómo convierto mis pruebas Selenium IDE de Selenese a otro idioma?

Responder

Puede usar la opción Formatear de Selenium IDE para convertir pruebas en otro lenguaje de programación:

Pregunta 34:

He convertido mis pruebas de Selenium IDE a Java, pero no puedo ejecutarlas, las opciones de ejecución y la pestaña Tabla de Selenium IDE están desactivadas

Responder

Esto se debe a que Selenium IDE no admite la ejecución de pruebas en ningún otro idioma que no sea selenese (idioma de Selenium IDE). Puede convertir Selenium IDE en un idioma de su elección y luego usar Selenium 1.0 para ejecutar estas pruebas en ese idioma.

Pregunta 35:

Quiero usar solo Selenese como mi lenguaje de script de prueba, pero aún quiero ejecutar pruebas en otros navegadores, ¿cómo hago eso?

Responder

Puede ejecutar su prueba Selenese en otro navegador especificando el “-htmlSuite” seguido de la ruta de su suite Selenese al iniciar el servidor Selenium. Selenium Server estaría cubierto en detalles en cuestión sobre Selenium RC.

Pregunta 36:

He agregado un comando en medio de la lista de comandos, ¿cómo pruebo solo este nuevo comando?

Responder

Puede hacer doble clic en el comando recién agregado y Selenium IDE ejecutará solo ese comando en el navegador.

Pregunta 37:

¿Puedo hacer que las pruebas Selenium IDE comiencen la ejecución de la prueba desde cierto comando y no desde el primer comando?

Responder

Puede establecer un comando como comando “inicio” desde el menú contextual. Cuando un comando se establece como comando de inicio, aparece un pequeño símbolo verde antes del comando. Se puede usar el mismo menú contextual para alternar esta opción

Pregunta 38:

¿Hay otras herramientas disponibles fuera de Selenium IDE para ayudarme a probar mis localizadores de elementos?

Responder

Podrías usar XPath Checker – XPath Checker para probar tus localizadores XPath y Firefinder (un complemento de Firebug) para probar tus localizadores CSS –

Buscador de fuego para Firebug

Firefinder también se puede usar para probar los localizadores XPath.

Referenes:

Pregunta 39:

¿Cuál es el próximo avance en Selenium IDE?

Responder

El último avance en Selenium IDE sería tener la capacidad de convertir las pruebas de Selenium IDE en las opciones de Webdriver (Selenium 2.0). Esto ayudaría a generar pruebas rápidas y sucias para Selenium 2.0

Pregunta 40:

¿Cómo puedo usar la opción de bucle (control de flujo) es Selenium IDE

Responder

Selenese no proporciona soporte para bucles, pero hay una extensión que podría usarse para lograr lo mismo. Esta extensión se puede descargar desde aquí – Selenium IDE Flow Control – Goto y While Loops

Esta extensión se puede agregar en la sección “Extensión Selenium IDE” para usar la función de bucle en Selenium IDE.

Pregunta 41:

¿Puedo usar la coordenada de pantalla mientras uso el comando clic? Quiero hacer clic en una parte específica de mi elemento.

Responder

Debería usar el comando clickAT para lograrlo. El comando clickAt acepta el localizador de elementos y las coordenadas x, y como argumentos.

clickAt (localizador, coordString)

Pregunta 42:

¿Cómo verifico la presencia de opciones desplegables con Selenium?

Responder

Use afirmar opciones de selección de la siguiente manera para verificar las opciones en una lista desplegable:

afirmarSeleccionarOpciones

Pregunta 43:

¿Puedo obtener datos de una celda de tabla html específica con Selenium IDE?

Responder

Use el comando storeTable para obtener datos de una celda específica en una tabla html, siguiendo el ejemplo de almacenar texto de la celda 0,4 de una tabla html:

storeTable

css = # tableId.0.4

textFromCell

Pregunta 44:

Quiero hacer que Selenium IDE registre y muestre el localizador CSS seguido de otros localizadores, ¿es posible darle alta prioridad al localizador CSS en Selenium IDE?

Responder

Puede cambiar el comportamiento predeterminado de Selenium IDE> preferencia del localizador de elementos al crear un archivo js con lo siguiente:

LocatorBuilders.order = [‘css: name’, ‘css: id’, ‘id’, ‘link’, ‘name’, ‘xpath: atributos’];

Y agregue este archivo en “Selenium IDE Extension” en Selenium Options.

Pregunta 45:

Mi aplicación tiene alertas dinámicas que no siempre aparecen, ¿cómo las manejo?

Responder

Si desea simular hacer clic en “ok” en la alerta que usar – elija OkOnNextConfirmation y si desea simular hacer clic en “cancelar” en la alerta que usar – elijaCancelOnNextConfirmation ()

Pregunta 46:

¿Puedo hacer clic derecho en un localizador?

Responder

Puede usar el comando contextMenu (localizador) para simular el clic derecho en un elemento de la página web.

Pregunta 47:

¿Cómo capturo la captura de pantalla de la página con Selenium IDE?

Responder

Utilice el comando – captureEntirePageScreenshot para tomar una captura de pantalla de la página.

Pregunta 48:

Quiero pausar mi ejecución de prueba después de cierto comando.

Responder

Utilice el comando de pausa que lleva tiempo en milisegundos y pausaría la ejecución de la prueba durante el tiempo especificado: pausa (waitTime)

Pregunta 49:

Utilicé el comando abrir para iniciar mi página, pero encontré un error de tiempo de espera

Responder

Esto sucede porque los comandos abiertos esperan solo 30 segundos para que se cargue la página. Si su aplicación tarda más de 30 segundos, puede usar “setTimeout (timeout)” para hacer que el IDE de selenio espere el tiempo especificado, antes de continuar con la ejecución de la prueba.

Pregunta 50:

¿Cuál es la diferencia entre los comandos type y typeKeys?

Responder

El comando type simula las operaciones de entrada de una vez, mientras que typeKeys simula la pulsación de tecla tecla por tecla.

typeKeys podría usarse al escribir datos en un cuadro de texto que brinde opciones (como la lista de sugerencias de Google) porque dicha operación generalmente no se simula mediante el comando type.

Selenium RC (Selenium 1.0) Preguntas

Pregunta 51:

¿Qué es Selenium RC (también conocido como Selenium 1.0)?

Responder

Selenium RC es una oferta de SeleniumHQ que intenta superar los siguientes inconvenientes de Selenium IDE:

• Capaz de ejecutar pruebas solo con Firefox

• No es capaz de usar un lenguaje de programación completo y se limita al selenese

Pregunta 52:

¿Cuáles son los componentes principales de Selenium RC?

Responder

Selenium RC tiene dos componentes principales:

• Bibliotecas de clientes que le permiten escribir pruebas en el lenguaje de su preferencia, es decir, Java, C #, Perl, PHP, etc.

• Selenium sever que actúa como un proxy entre el navegador y la aplicación bajo prueba (aut)

Pregunta 53:

¿Por qué necesito Selenium Server?

Responder

Selenium utiliza el script java para realizar pruebas en un navegador; Selenium inyecta su propio js a la respuesta que devuelve aut. Pero hay una restricción de seguridad de script Java (misma política de origen) que le permite modificar html de la página usando js solo si js también se origina en el mismo dominio que html. Esta restricción de seguridad es de suma importancia pero arruina el funcionamiento de Selenium. Aquí es donde el servidor Selenium viene a jugar un papel importante.

El servidor Selenium se encuentra entre aut y browser e inyecta selenium js a la respuesta recibida de aut y luego se entrega a broswer. Por lo tanto, el navegador cree que toda la respuesta se entregó desde aut.

Pregunta 54:

¿Qué es el núcleo de selenio? ¡¡¡Nunca lo he usado!!!

Responder

Selenium core es el motor core js de Selenium que ejecuta pruebas en el navegador, pero debido a la misma política de origen, debe implementarse en el servidor de aplicaciones, lo que no siempre es factible. Por lo tanto, el núcleo de selenio no se utiliza de forma aislada. Selenium IDE y Selenium RC usan Selenium core para conducir pruebas mientras se cumple la misma política de origen. En el caso de las pruebas Selenium IDE se ejecutan en el contexto del navegador, por lo tanto, no se ve obstaculizado por la misma política de origen y con Selenium RC, Selenium Server supera la misma política de origen.

Pregunta 55:

¿Dónde está el ejecutable para Selenium RC, cómo lo instalo?

Responder

La instalación es un nombre inapropiado para Selenium RC. No instala Selenium RC, solo agrega bibliotecas de cliente a su proyecto. Por ejemplo, en el caso de Java, se agregan controladores de cliente y frascos de servidor Selenium en Eclipse o IntelliJ, que son editores de Java.

Pregunta 56:

He descargado las bibliotecas Selenium Server y Client, ¿cómo inicio Selenium Server?

Responder

Para iniciar Selenium Server, debe navegar al directorio de instalación del servidor Selenium y ejecutar el siguiente comando:

Java -jar .jar

Esto iniciará el servidor Selenium en el puerto 4444 de manera predeterminada.

Tenga en cuenta que debe tener java versión 1.5 o superior disponible en su sistema para poder utilizar el servidor Selenium.

Pregunta 57:

En mi máquina, el puerto 4444 no es gratuito. ¿Cómo usar otro puerto?

Responder

Puede especificar el puerto mientras ejecuta el servidor de selenio como:

Java -jar .jar –port 5555

Pregunta 58:

Soy nuevo en programación; ¿Selenium puede generar código de muestra de mis scripts seleneses?

Responder

Primero puede grabar pruebas en Selenium IDE y luego usar la opción de formato para convertirlas en el idioma que elija.

Pregunta 59:

¿Puedo iniciar el servidor Selenium desde mi programa en lugar de la línea de comandos?

Responder

Si está utilizando Java, puede iniciar el servidor Selenium utilizando la clase SeleniumServer. Para esto, debe crear una instancia de SeleniumServer y luego llamar al método start ().

seleniumServer = nuevo SeleniumServer ();

seleniumServer.start ();

Pregunta 60:

¿Y cómo inicio el navegador?

Responder

Mientras usa Java, necesita crear una instancia de la clase DefaultSelenium y pasarle cuatro parámetros:

selenium = new DefaultSelenium (serverHost, serverPort, browser, appURL);

selenium.start ();

Aquí tienes que pasar,

host donde se ejecuta el servidor Selenium,

puerto del servidor Selenium,

navegador donde se ejecutarán las pruebas y

URL de la aplicación

Pregunta 61:

No estoy usando Java para programar mis pruebas, ¿todavía tengo que instalar Java en mi sistema?

Responder

Sí, dado que el servidor Selenium está escrito en Java, necesita que Java esté instalado en su sistema para poder usarlo. Aunque es posible que no esté utilizando Java para programar sus pruebas.

Pregunta 62:

¿Qué ofrecen los navegadores de Selenium?

Responder

Los siguientes navegadores podrían usarse con Selenium:

* firefox

* firefoxproxy

* pifirefox

*cromo

* iexploreproxy

* iexplore

* firefox3

* safariproxi

*Google Chrome

* konqueror

* firefox2

*safari

* piiexplore

* firefoxchrome

*ópera

* iehta

*personalizado

Aquí pi y proxy representan el modo de inyección proxy del servidor Selenium

Pregunta 63:

Durante la ejecución de las pruebas veo dos ventanas del navegador; una mi aplicación de prueba otra ventana muestra los comandos que se ejecutan. ¿Puedo limitarlo a una sola ventana?

Responder

Sí, puede indicarle a Selenium Server que inicie solo una ventana. Para hacerlo, debe especificar –singleWindow al iniciar el servidor Selenium como –

Java -jar .jar –singleWindow

Pregunta 64:

Mis pruebas suelen agotar el tiempo. ¿Puedo especificar un tiempo de espera mayor?

Responder

Esto generalmente ocurre mientras se usa el método abierto con selenio. Una forma de superar esto es usar el método setTimeOut en su script de prueba; otra forma es especificar el tiempo de espera al iniciar el servidor Selenium de la siguiente manera:

Java -jar .jar –timeout

Pregunta 65:

Mi sistema está detrás de la red corporativa, ¿cómo especifico mi proxy corporativo?

Responder

Puede especificar su proxy corporativo de la siguiente manera al iniciar Selenium Server:

java -jar .jar -Dhttp.proxyHost = -Dhttp.proxyPort = -Dhttp.proxyUser = -Dhttp.proxyPassword =

Pregunta 66:

Estoy cambiando dominios en mis scripts de prueba. Me muevo de “Yahoo” a “Google” y mis pruebas encuentran permiso denegado error

Responder

Cambiar dominios también es una restricción de seguridad del script java. Para superar esto, debe iniciar su servidor Selenium en modo de inyección proxy como:

java -jar .jar –proxyInjectionMode

Ahora el servidor Selenium actuaría como servidor proxy para todo el contenido que se va a probar la aplicación

Pregunta 67:

¿Puedo ejecutar mis pruebas Selenese en otro navegador usando el servidor Selenium? Quiero usar solo el script Selenese en mis pruebas, pero aún quiero ejecutar mi prueba en navegadores que no sean Firefox

Responder

Sí tu puedes. Para hacerlo, debe especificar los siguientes parámetros al iniciar el servidor Selenium:

Navegador

Dominio de prueba

Ruta a la suite html (pruebas de Selenese) y

Camino al resultado

java -jar . jar -htmlSuite

Pregunta 68:

¿Puedo registrar más opciones durante la ejecución de la prueba?

Responder

Si desea registrar la opción del lado del navegador durante la ejecución de la prueba, debe iniciar el servidor Selenium de la siguiente manera:

java -jar . jar –browserSideLog

Pregunta 69:

¿Puedo usar Selenium RC en mi UNIX / Mac también?

Responder

Puede usar Selenium RC en cualquier sistema que sea capaz de ejecutar Java. Por lo tanto, puede usarlo en máquinas RC y UNIX también

Pregunta 70:

Quiero probar mis scripts en el nuevo navegador experimental, ¿cómo hago eso?

Responder

Puede especificar * personalizado seguido de la ruta al navegador para ejecutar sus pruebas en cualquier navegador al iniciar el servidor Selenium

*personalizado

Pregunta 71:

Ejecuté mis casos de prueba, pero ¿dónde está el informe de prueba?

Responder

Selenium RC en sí mismo no proporciona ningún mecanismo para la presentación de informes de prueba. Los informes de prueba se basan en el marco que utiliza para Selenium. Por ejemplo, con el controlador de cliente java de Selenium:

• si está usando JUnit, puede usar el complemento ant de JUnit para generar un informe de prueba

• si está utilizando TestNG, entonces TestNG genera informes para usted

La misma opción de informes está disponible con la unidad PHP y otras bibliotecas de cliente que está utilizando.

Pregunta 72:

¿Cómo uso escenarios de recuperación con Selenium? Solía ​​usarlos con QTP.

Responder

El poder de los escenarios de recuperación reside en el lenguaje de programación que utiliza. Si está utilizando Java, puede utilizar el manejo de excepciones para superarlo. Por ejemplo, si está leyendo datos de un archivo y el archivo no está disponible, debe mantener sus declaraciones de código en el bloque “try catch” para que la ejecución de la prueba pueda continuar incluso después de errores. Dicho mecanismo reduce por completo los errores de los que desea recuperarse, al tiempo que puede continuar con la ejecución de la prueba.

Algunas referencias:

Pregunta 73:

¿Cómo puedo recorrer las opciones en mi script de prueba?

Responder

Puede usar las funciones de bucle del lenguaje de programación, por ejemplo, puede usar el bucle “for” en java de la siguiente manera para escribir diferentes datos de prueba en un cuadro de texto:

// prueba la recopilación de datos en una matriz

Cadena [] testData = {“prueba1”, “prueba2”, “prueba3”};

// iterar a través de cada dato de prueba

para (Cadena s: testData) {

selenium.type (“elementLocator”, testData);

}

Pregunta 74:

¿Puedo ejecutar el script java desde mis pruebas? Quiero contar el número de imágenes en mi página.

Responder

Puede usar el método getEval () para evaluar el script java. Por ejemplo, si desea contar el número de imágenes, puede pasar la siguiente instrucción dom a getEval () de la siguiente manera:

selenium.getEval (“window.document.images.length;”);

O para obtener todos los objetos de anclaje de una página

selenium.getEval (“window.document.getElementsByTagName (‘a’);”);

Pregunta 75:

¿Hay alguna forma de conocer todas las opciones disponibles cuando inicio Selenium Server?

Responder

Si desea ver todas las opciones disponibles al iniciar el servidor Selenium, debe usar la opción “-h” al iniciar el servidor Selenium:

Java –jar .jar –h

Le mostrará todas las opciones que puede usar al iniciar el servidor Selenium.

Pregunta 76:

He creado mi propio perfil de firefox; ¿Puedo ejecutar mis scripts de prueba en él?

Responder

Es posible que desee crear su propio perfil de Firefox porque Selenium siempre creó un perfil limpio de Firefox mientras ejecutaba las pruebas y ninguna de sus configuraciones y complementos FF se considera con este perfil limpio. Si desea ejecutar pruebas en FF con su configuración, debe crear un perfil personalizado para FF.

Para poder ejecutar pruebas en un perfil de Firefox personalizado, debe especificar su ruta al iniciar el servidor Selenium. Por ejemplo, si su nuevo perfil está almacenado en una “ubicación impresionante” en su directorio, entonces debe iniciar el servidor Selenium de la siguiente manera:

Java –jar .jar -firefoxProfileTemplate “ubicación impresionante”

Pregunta 77:

¿Cómo capturo el registro del lado del servidor del servidor Selenium?

Responder

Inicie su servidor Selenium de la siguiente manera:

java -jar .jar -log selenium.log

Y Selenium comenzaría a registrar información del lado del servidor, es decir

20:44:25 DEPURACIÓN [12] org.openqa.selenium.server.SeleniumDriverResourceHandler –

Navegador 12345 /: marco superior1 publicado COMENZAR NUEVO

Pregunta 78:

¿Qué son los navegadores con privilegios elevados?

Responder

Firefox e IE tienen modos de navegador que no están restringidos por la misma política de origen de Java Script. Estos navegadores se conocen como navegadores con privilegios de seguridad elevados. En el caso de Firefox se conoce como Chrome (no es el navegador de Google) y en el caso de IE se conoce como iehta

Pregunta 79:

Mi aplicación tiene muchas ventanas emergentes, ¿cómo trabajo con ellas?

Responder

Necesita saber la ID de ventana de la ventana emergente para poder trabajar con ellos.

Primero debe controlar la ventana emergente; ejecute comandos de selenio allí, cierre la ventana emergente y luego devuelva el control a la ventana principal. Considere el siguiente ejemplo donde hacer clic en una imagen abre una ventana emergente:

// haz clic en la imagen para abrir la ventana emergente

selenium.click (“css = img”);

// espera a que aparezca la ventana emergente identificada con el destino de anclaje “ss”

selenium.waitForPopUp (“ss”, getWaitPeriod ());

selenium.selectWindow (“ss”);

// Algunas operaciones más en la ventana emergente

// Cierre la ventana emergente y seleccione la ventana principal de la aplicación

// La ventana principal se selecciona agregando nulo como argumento

selenio.close ();

selenium.selectWindow (“nulo”);

// continúa con la operación habitual 

Pregunta 80:

Mientras intentaba ejecutar mis pruebas con firefox, encontré el siguiente error: “Firefox rechazó el apagado al preparar un perfil”. ¿Cómo lo resuelvo?

Responder

Este mensaje simplemente significa que Selenium no puede iniciar el navegador FF ya que ya se está ejecutando en su sistema. Para superar esto, debe cerrar todas las instancias en ejecución del navegador FF.

También debe verificar el proceso de su sistema si hay algún perfil FF oculto en ejecución que no sea visible en la pantalla. Debería eliminar todos los procesos FF y, después de esto, sus pruebas deberían ejecutarse sin problemas

Pregunta 80:

Mientras intentaba ejecutar mis pruebas con firefox, encontré el siguiente error: “Firefox rechazó el apagado al preparar un perfil”. ¿Cómo lo resuelvo?

Responder

Este mensaje simplemente significa que Selenium no puede iniciar el navegador FF ya que ya se está ejecutando en su sistema. Para superar esto, debe cerrar todas las instancias en ejecución del navegador FF.

También debe verificar el proceso de su sistema si hay algún perfil FF oculto en ejecución que no sea visible en la pantalla. Debería eliminar todos los procesos FF y, después de esto, sus pruebas deberían ejecutarse sin problemas

Referencia:

Pregunta 81:

Mi aplicación utiliza mucho Ajax, ¿cómo uso Selenium RC para trabajar con las operaciones de Ajax?

Responder

Las operaciones de Ajax no vuelven a cargar una página como el envío normal de formularios, pero realizan solicitudes http detrás de escena. No puede usar waitForPageToLoad para tales operaciones y en su lugar debe usar la espera condicional para el cambio en el estado de la aplicación. Esto también podría significar esperar la presencia de un elemento antes de continuar con las operaciones de prueba. Considere el siguiente ejemplo en el que la operación de tipo desencadena la operación Ajax, seguida de la espera condicional para la presencia de un cuadro de texto:

// la operación de tipo trae el elemento “q” en la pantalla sin cargar la página

selenium.type (“elementLocator”, “testData”);

// espera condicional para el elemento “q”

for (int second = 0 ;; second ++) {

if (segundo> = 60) falla (“tiempo de espera”);

pruebe {if (selenium.isElementPresent (“q”)) break; } captura (Excepción e) {}

Thread.sleep (1000);

}

Pregunta 82:

¿Cómo subo un archivo con Selenium? Necesito cargar un archivo de Word durante la ejecución de la prueba.

Responder

Si está utilizando Firefox, puede usar el comando “escribir” para escribir en un cuadro de entrada de archivo del archivo de carga. Pero la operación de escritura no funciona con IE y tendría que usar la clase “Robot” en Java para que la carga de archivos funcione.

Pregunta 83:

¿Por qué recibo un error de “permiso denegado” durante la ejecución de las pruebas de Selenium?

Responder

La razón principal del error de permiso denegado es la misma restricción de la política de origen del script java. Para superar este error, puede usar navegadores con privilegios de seguridad elevados. En el caso de Firefox, debe usar * chrome y en el caso de IE, debe usar * iehta como navegador para trabajar con Selenium.

Pregunta 84:

No puedo usar el atributo “estilo” para ubicar el elemento con el navegador IE

Responder

Esto se debe a que IE espera que los valores de los atributos estén en mayúsculas, mientras que otros navegadores esperan que sean letras minúsculas. Por lo tanto

// tr [@ style = “background-color: yellow”] funciona con otros navegadores

// tr [@ style = “COLOR DE FONDO: amarillo”] funciona con IE

Pregunta 85:

¿Hay alguna limitación técnica al usar Selenium RC?

Responder

Además de la notoria restricción de “política del mismo origen” de js, Selenium también tiene restricciones para ejercer cualquier cosa que esté fuera del navegador. Por ejemplo, no puede hacer clic en la opción “Herramientas” de su navegador simplemente usando Selenium.

Pregunta 86:

Pero mis pruebas me necesitan para ejercitar objetos fuera del navegador, ¿cómo lo logro?

Responder

Puede usar la clase Robot en Java para lograr esto, pero sería una solución sucia incluso si lo supera.

Pregunta 87:

¿Selenium tiene alguna oferta para navegadores móviles?

Responder

Selenium 2.0 (WebDriver) proporciona controladores de iPhone y Android que podrían usarse para conducir pruebas en navegadores móviles

Pregunta 88:

¿Cómo se compara Selenium RC con otras herramientas comerciales?

Responder

La mayor ventaja de Selenium RC es que es absolutamente gratuito y tiene una gran compatibilidad con idiomas y navegadores (casi siempre). Selenium se queda atrás cuando se trata de informes de prueba, ya que Selenium no tiene ningún informe incorporado, pero esto se puede lograr fácilmente utilizando el lenguaje de programación en el que decide trabajar con Selenium. Un inconveniente mayor es no poder ejercitar objetos que están fuera de la ventana del navegador, por ejemplo, haciendo clic en la carpeta de su escritorio.

Pregunta 89:

¿Cómo se compara Selenium RC con otras herramientas comerciales?

Responder

La mayor ventaja de Selenium RC es que es absolutamente gratuito y tiene una gran compatibilidad con idiomas y navegadores (casi siempre). Selenium se retrasa cuando se trata de informes de prueba, ya que Selenium no tiene ningún informe integrado, pero esto se puede lograr fácilmente

Pregunta 90:

¿Puedo usar Selenium RC para realizar pruebas en dos navegadores diferentes en un sistema operativo sin usar Selenium Grid?

Responder

Si está utilizando el controlador de cliente java de Selenium, entonces el marco de prueba de Java TestNG le permite lograr esto. Puede establecer que las pruebas se ejecuten en paralelo con el atributo “paralelo = prueba” y definir dos pruebas diferentes, cada una con un navegador diferente. La configuración completa se vería como (observe las secciones resaltadas para el navegador en el conjunto de pruebas):

versión xml = “1.0” codificación = “utf-8”?>

SISTEMA DOCTYPE suite “http://testng.org/testng-1.0.dtd”>

parámetro>

class> classes>

prueba>

parámetro>

class> classes>

prueba>

suite>

Preguntas de cuadrícula de selenio

Pregunta 91:

¿Cómo reduzco el tiempo de ejecución de texto para mis pruebas de selenio? Quiero ejecutar mis pruebas en una combinación de diferentes máquinas y navegadores.

Responder

Selenium grid es tu amigo. Selenium grid le permite distribuir pruebas entre navegadores y máquinas de su elección.

Pregunta 92:

¿Cómo funciona la grilla de selenio?

Responder

Selenium grid utiliza la combinación de servidores Selenium RC para ejecutar pruebas en múltiples navegadores en diferentes máquinas. Aquí, un servidor Selenium RC funciona como concentrador, mientras que otros servidores RC funcionan como esclavos, lo que podría controlarse mediante el concentrador. Cada vez que se solicita una configuración específica para la ejecución de la prueba, el concentrador busca un servidor esclavo RC libre y, si está disponible, la ejecución de la prueba comienza en él. Una vez finalizada la ejecución de la prueba, el servidor esclavo RC estará disponible para el siguiente conjunto de ejecución de prueba.

Pregunta 93:

¿Me puede mostrar un diagrama que describa la funcionalidad de la cuadrícula de selenio?

Responder

En el siguiente diagrama, Selenium hub controla tres servidores Selenium RC que se ejecutan para configuraciones:

• IE en Windows

• FF en Linux

• FF en ventanas

Pregunta 94:

¿Qué archivos jar son necesarios para trabajar con Selenium GRID?

Responder

Debe descargar y agregar los siguientes archivos jar a su configuración de Selenium para poder trabajar con Selenium. Estos archivos jar son:

• selenium-grid-remote-control-standalone-.jar

• selenium-grid-hub-standalone-.jar

• selenium-grid-tools-standalone-.jar

Pregunta 95:

¿Cómo inicio Selenium Grid Hub desde mi máquina?

Responder

Debe tener “ant” configurada en su sistema para poder trabajar con Grid. Una vez que haya descargado Selenium Grid, navegue a su directorio de distribución y ejecute el siguiente comando:

centro de lanzamiento de hormigas

function gtElInit() {var lib = new google.translate.TranslateService();lib.translatePage(‘en’, ‘es’, function () {});} Esto iniciaría el hub de red en el puerto 4444 localmente. Puede verificar esto navegando a la siguiente URL: http: // localhost: 4444 / console

Pregunta 96:

¿Cómo inicio Selenium Grid Slave Server desde mi sistema?

Responder

Navegue para descargar el directorio de Selenium gird y ejecute el siguiente comando:

Ant-lanzamiento-control remoto

Esto iniciaría el servidor de control remoto en el puerto 555. En este punto, si navega a http: // localhost: 4444 / console, verá este control remoto en la lista de “Controles remotos disponibles”.

Pregunta 97:

¿Cómo inicio Selenium grid slave en un puerto diferente al 5555?

Responder

Puede usar la opción “-Dport” seguido del número de puerto para iniciar el esclavo de la red en un puerto específico.

ant -Dport = 1111 launch-remote-control

ant -Dport = 2222 launch-remote-control

Pregunta 98:

¿Cómo inicio esclavos RC de cuadrícula en un sistema diferente que mi host local para que el concentrador pueda controlar y contactar una configuración específica?

Responder

Debe especificar la siguiente configuración al iniciar el esclavo RC:

ant -Dport = -Dhost = -DhubURL = launch-remote-control

Aquí “hostname” es el host donde se está ejecutando RC slave y “hub url” es la URL de la máquina donde se está ejecutando grid hub.

Pregunta 99:

¿Cómo especifico un entorno al iniciar la máquina esclava grid?

Responder

Puede especificar un entorno utilizando “-Medio ambiente” al iniciar una máquina esclava.

ant -Denvironment = “Safari en Mac” lanzamiento-control remoto

Aquí Safari en Mac es el entorno que se utilizaría para reconocer la configuración del esclavo RC.

Pregunta 100:

¿Cómo uso la configuración específica de la máquina en mis pruebas de selenio?

Responder

Puede especificar la configuración específica de la máquina mientras crea Selenium como:

Selenium = nuevo DefaultSelenium (“localhost”, 4444, ** ‘Safari en Mac’ **, ‘Yahoo’);

Y luego usa esta instancia de selenio para llevar a cabo la operación en su aplicación web.

Pregunta 101:

Pero, ¿cómo saben mis pruebas que ‘Safari en Mac’ significa un navegador safari? ¿Cómo funciona la asignación entre nombres como ‘Safari en Mac’ y las opciones de navegador originales disponibles en Selenium?

Responder

Selenium grid utiliza un archivo llamado “grid_configuration.yml” que define las configuraciones de todos los navegadores. Tendría que agregar esto en su proyecto. Este archivo se parece a:

Pregunta 102:

¿Cómo se mantiene en contacto Selenium grid hub con la máquina esclava RC?

Responder

Selenium grid hub sigue sondeando a todos los esclavos RC en un tiempo predefinido para asegurarse de que estén disponibles para la prueba. De lo contrario, el concentrador Selenium desconecta todos los esclavos RC no disponibles y deja en claro que ningún esclavo RC no está disponible para la prueba. El parámetro decisivo se llama “remoteControlPollingIntervalInSeconds” y se define en el archivo “grid_configuration.yml”.

Pregunta 103:

Mi RC deja de responder a veces y mi concentrador de red Selenium sigue esperando que el esclavo RC responda. ¿Cómo le hago saber a Hub que renuncio a RC Slave después de cierto tiempo?

Responder

Puede indicar que el concentrador de cuadrícula Selenium espera al esclavo RC durante un tiempo predefinido, y si el esclavo RC no responde en este momento, el concentrador desconecta la ejecución de la prueba en ese esclavo. Este parámetro se llama “sessionMaxIdleTimeInSeconds” y este parámetro se puede definir en el archivo “grid_configuration.yml”.

Pregunta 104:

¿Qué pasa si mi hub se cae mientras los esclavos Selenium RC están en funcionamiento?

Responder

Hay un mecanismo de latido del corazón desde el esclavo RC al concentrador que es recíproco al mecanismo utilizado por el concentrador para las máquinas esclavas. Los esclavos RC utilizan un parámetro llamado “hubPollerIntervalInSeconds” para realizar un seguimiento de la ejecución del hub de grid. Este parámetro se puede definir al iniciar el concentrador como:

ant -DhubPollerIntervalInSeconds = launch-hub

si el concentrador no responde dentro de este tiempo, los esclavos RC se desregistran del concentrador.

Pregunta 105:

¿Se puede utilizar Selenium grid para pruebas de rendimiento?

Responder

Selenium grid es para pruebas funcionales de aplicaciones en diferentes configuraciones. Las pruebas de rendimiento generalmente no se llevan a cabo en dispositivos reales sino en un mecanismo de solicitud / respuesta http simulado. Si desea utilizar Selenium Grid para las pruebas de rendimiento, deberá invertir mucho en infraestructura s / w y h / w.

Pregunta 106:

¿Hay registros adicionales disponibles mientras se trabaja con Selenium grid?

Responder

Puede encontrar los registros del concentrador de cuadrícula Selenium en “log / hub.log” y los registros del control remoto en la carpeta “log / rc – *. Log”.

Pregunta 107:

Hay varias opciones disponibles al iniciar un servidor Selenium, ¿cómo las uso con Selenium grid?

Responder

Puede usar la propiedad Java “seleniumArgs” al iniciar el control remoto y especificar cualquiera de las opciones que usaría con la configuración normal de Selenium. Por ejemplo, puede ejecutar Selenium RC esclavo en modo de ventana única con el siguiente comando:

ant -DseleniumArgs = “- singleWindow -debug” launch-remote-control

Pregunta 108:

Veo entradas duplicadas en mi consola central, el mismo esclavo RC aparece más de una vez: -O

Responder

Esto se debe a que estás matando al esclavo RC muy ferozmente. Por ejemplo, si simplemente cierra la consola sin terminar realmente el proceso de una manera más civilizada. Para evitar esto, debes matar a todos los esclavos RC de manera más civilizada. Si encuentra este error, debería reiniciar Selenium hub y los esclavos RC se registrarían en el hub.

Pregunta 109:

¿Cómo especifico mi proxy corporativo al iniciar Selenium grid hub o máquinas esclavas?

Responder

Puede usar la configuración para “http.proxyHost” y “http.proxyPort” al iniciar las máquinas de concentrador y control remoto:

ant -Dhttp.proxyHost = -Dhttp.proxyPort = launch-hub

ant -Dhttp.proxyHost = -Dhttp.proxyPort = launch-remote-control

Pregunta 110:

¿Cómo uso Selenium Grid mientras uso Java, .Net o Ruby?

Responder

Con Java, puede aprovechar las capacidades de prueba paralelas de TestNG para conducir sus pruebas de cuadrícula Selenium

Con .Net puede usar “Gallio” para ejecutar sus pruebas en paralelo

Con Ruby puedes usar “DeepTest” para distribuir tus pruebas

Pregunta 111:

¿Qué tal el informe de prueba cuando uso Selenium grid para la ejecución de la prueba?

Responder

Esto se reduce completamente al marco que usa para escribir sus pruebas. Por ejemplo, en el caso de Java, los informes TestNG deberían ser suficientes.

Preguntas sobre el controlador web (Selenium 2.0)

Pregunta 112:

¿Qué es el selenio 2.0? He escuchado esta palabra de moda muchas veces.

Responder

Selenium 2.0 es la consolidación de dos herramientas de prueba web: Selenium RC y WebDriver, que asegura dar lo mejor de ambas palabras: Selenium y WebDriver. Selenium 2.0 se lanzó oficialmente solo últimamente.

Pregunta 113:

¿Por qué se combinan dos herramientas como Selenium 2.0, cuál es la ganancia?

Responder

Selenium 2.0 promete ofrecer una API mucho más limpia que Selenium RC y, al mismo tiempo, no estar restringida por la restricción de seguridad de Java Script, como la misma política de origen, que ha perseguido a Selenium desde hace mucho tiempo. Selenium 2.0 tampoco le garantiza que use Selenium Server.

Pregunta 114:

¿Entonces todos van a usar Selenium 2.0?

Responder

Bueno, no, por ejemplo, si está utilizando el controlador de cliente Selenium Perl, entonces no hay una oferta similar de Selenium 2.0 y tendría que apegarse a Selenium 1.0 hasta que haya una biblioteca similar disponible para Selenium 2.0

Pregunta 115:

Entonces, ¿cómo especifico las configuraciones de mi navegador con Selenium 2.0?

Responder

Selenium 2.0 ofrece la siguiente configuración de navegador / móvil:

• AndroidDriver,

• ChromeDriver,

• EventFiringWebDriver,

• FirefoxDriver,

• HtmlUnitDriver,

• InternetExplorerDriver,

• IPhoneDriver,

• IPhoneSimulatorDriver,

• RemoteWebDriver

Y todos ellos se han implementado desde la interfaz WebDriver. Para poder utilizar cualquiera de estos controladores, debe crear una instancia de su clase correspondiente.

Pregunta 116:

¿En qué se diferencia la configuración de Selenium 2.0 de Selenium 1.0?

Responder

En el caso de Selenium 1.0, necesita el archivo jar de Selenium perteneciente a una biblioteca, por ejemplo, en el caso de Java, necesita el controlador de cliente java y también el archivo jar del servidor Selenium. Mientras que con Selenium 2.0 necesita un enlace de idioma (es decir, Java, C #, etc.) y el jar del servidor Selenium si está utilizando Control remoto o WebDriver remoto.

Pregunta 117:

¿Me puede mostrar un ejemplo de código para configurar Selenium 2.0?

Responder

Aquí hay un ejemplo de Java para inicializar el controlador de Firefox y usar el motor de búsqueda de Google

WebDriver protegido webDriver;

// @ BeforeClass (alwaysRun = true)

public void startDriver () {

webDriver = nuevo FirefoxDriver ();

// Obtenga la página de búsqueda de Google y realice la búsqueda en el término “Prueba”

webDriver.get (“Google”);

webDriver.findElement (http://By.name (“q”)). sendKeys (“Prueba”);

webDriver.findElement (http://By.name (“btnG”)). clic ();

Pregunta 118:

¿Qué implementación de controlador web es más rápida?

Responder

HTMLUnitDriver. La razón simple es que HTMLUnitDriver no ejecuta pruebas en el navegador, sino una simple solicitud http: respuesta que es mucho más rápida que iniciar un navegador y ejecutar pruebas. Pero entonces es posible que desee ejecutar pruebas en un navegador real que algo que se ejecuta detrás de escena

Pregunta 119:

¿Qué todos los diferentes localizadores de elementos están disponibles con Selenium 2.0?

Responder

Selenium 2.0 utiliza el mismo conjunto de localizadores que utiliza Selenium 1.0: id, name, css, XPath, pero la forma en que Selenium 2.0 accede a ellos es diferente. En el caso de Selenium 1.0, no tiene que especificar un método diferente para cada localizador, mientras que en el caso de Selenium 2.0 hay un método diferente disponible para usar un localizador de elementos diferente. Selenium 2.0 utiliza el siguiente método para acceder a elementos con id, name, css y XPath locator:

driver.findElement (http://By.id (“HTMLid”));

driver.findElement (http://By.name (“HTMLname”));

driver.findElement (By.cssSelector (“cssLocator”));

driver.findElement (By.xpath (“XPathLocator));

Pregunta 120:

¿Cómo envío un formulario con Selenium?

Responder

Puede utilizar el método “enviar” en el elemento para enviar el formulario:

element.submit ();

Alternativamente, puede utilizar el método de clic en el elemento que envía formularios.

Pregunta 121:

¿Puedo simular presionar las teclas del teclado usando Selenium 2.0?

Responder

Puede usar el comando “sendKeys” para simular las teclas del teclado como:

element.sendKeys (“y algunos”, Keys.ARROW_UP);

También puede usar “sendKeys” para escribir en el cuadro de texto como –

HTMLelement.sendKeys (“testData”);

Pregunta 122:

¿Cómo borro el contenido de un cuadro de texto en Selenium 2.0?

Responder

Puede usar el método “borrar” en el elemento del cuadro de texto para borrar su contenido:

textBoxElement.clear ();

Pregunta 123:

¿Cómo selecciono un valor desplegable con Selenium2.0?

Responder

Para seleccionar un valor desplegable, primero debe obtener el elemento seleccionado usando uno de los localizadores de elementos y luego puede seleccionar el elemento usando texto visible:

Select selectElement = new Select (driver.findElement (By.cssSelector (“cssSelector”)));

selectElement.selectByVisibleText (“India”);

Pregunta 124:

¿Qué se ofrece para lidiar con ventanas emergentes mientras se usa Selenium 2.0?

Responder

Puede usar el método de ventana “switchTo” para cambiar a una ventana usando el nombre de la ventana. También hay un método “getWindowHandles” que podría usarse para encontrar todos los identificadores de Ventana y, posteriormente, controlar la ventana deseada utilizando el identificador de ventana:

webDriver.switchTo (). window (“windowName”);

for (Identificador de cadena: driver.getWindowHandles ()) {

driver.switchTo (). window (handle);

}

Pregunta 125:

¿Qué tal manejar marcos usando Selenium 2.0?

Responder

Puede usar el método de marco “switchTo” para controlar el marco HTML.

driver.switchTo (). frame (“frameName”);

También puede usar el número de índice para especificar un marco:

driver.switchTo (). frame (“parentFrame.4.frameName”);

Esto traería control sobre el marco llamado – “frameName” de los nombres del cuarto subtrama “parentFrame”

Pregunta 126:

¿Puedo navegar de un lado a otro en un navegador en Selenium 2.0?

Responder

Puede usar la interfaz de navegación para ir y venir en una página. El método de navegación de la interfaz WebDriver devuelve la instancia de Navigation. La interfaz de navegación tiene métodos para retroceder, avanzar y actualizar una página:

driver.navigate (). forward ();

driver.navigate (). back ();

driver.navigate (). refresh ();

Pregunta 127:

¿Cuál es el orden de implementación más rápida del navegador para WebDriver?

Responder

HTMLUnitDriver es la implementación de navegador más rápida ya que no implica interacción con un navegador. Esto es seguido por el controlador Firefox y luego el controlador IE, que es más lento que el controlador FF y se ejecuta solo en Windows.

Pregunta 128:

¿Es posible usar Selenium RC API con Selenium 2.0?

Responder

Puede emular Selenium 1.0 API con Selenium 2.0, pero no todos los métodos Selenium 1.0 son compatibles. Para lograr esto, necesita obtener la instancia de Selenium de WebDriver y usar los métodos de Selenium. Las ejecuciones de métodos también pueden ser más lentas al simular Selenium 1.0 con Selenium 2.0

Pregunta 129:

¿Me puede mostrar un ejemplo del uso de Selenium 1.0 en Selenium 2.0?

Responder

Código de muestra:

// Crear instancia de controlador web

Controlador WebDriver = nuevo FirefoxDriver ();

// URL de la aplicación

String appUrl = “Google”;

// Obtener instancia de Selenium

Selenium selenium = nuevo WebDriverBackedSelenium (driver, appUrl);

// Pruebas con selenio

selenium.open (appURL);

selenium.type (“nombre = q”, “testData”);

selenium.click (“nombre = btnG”);

// Recuperar la instancia de WebDriver

WebDriver driverInstance = ((WebDriverBackedSelenium) selenium) .getUnderlyingWebDriver ();

Pregunta 130:

Tuve soporte para muchos navegadores mientras usaba Selenium 1.0 y parece que faltan con Selenium 2.0, por ejemplo, ¿cómo uso el navegador mientras uso Selenium 2.0?

Responder

Hay una clase llamada Capabilities que le permite inyectar nuevas capacidades en WebDriver. Esta clase se puede utilizar para configurar el navegador de prueba como Safari:

// Capacidades de instanciación

Capacidades capacidades = nuevas DesiredCapabilities ()

// Establecer nombre del navegador

Capacidades.setBrowserName (“este navegador impresionante”);

// Obtenga las capacidades de ejecución de su navegador

CommandExecutor ejecutor = nuevo SeleneseCommandExecutor (“http: localhost: 4444 /”, “Google”, capacidades);

// Instalar la instancia del controlador con las capacidades deseadas

Controlador WebDriver = nuevo RemoteWebDriver (ejecutor, capacidades);

Pregunta 131:

¿Existen limitaciones al inyectar capacidades en WebDriver para realizar pruebas en un navegador que no es compatible con WebDriver?

Responder

La principal limitación de las capacidades de inyección es que el comando “fundElement” puede no funcionar como se esperaba. Esto se debe a que WebDriver utiliza Selenium Core para que funcione la “inyección de capacidad”, que está limitada por las políticas de seguridad de Java Script.

Pregunta 132:

¿Puedo cambiar User-Agent mientras uso el navegador FF? Quiero ejecutar mis pruebas con una configuración específica de User-Agent.

Responder

Puede crear un perfil FF y agregarle Preferencias adicionales. Entonces este perfil podría pasarse al controlador de Firefox mientras se crea la instancia de Firefox:

Perfil de FirefoxProfile = nuevo FirefoxProfile ();

profile.addAdditionalPreference (“general.useragent.override”, “Cadena de agente de usuario”);

Controlador WebDriver = nuevo FirefoxDriver (perfil);

Pregunta 133:

¿Hay alguna diferencia en la implementación de XPath en diferentes implementaciones de WebDriver?

Responder

Como no todos los navegadores (como IE) tienen soporte para XPath nativo, WebDriver proporciona su propia implementación de XPath para dichos navegadores. En el caso de HTMLUnitDriver e IEDriver, las etiquetas html y los nombres de atributos se consideran en minúsculas, mientras que en el caso del controlador FF se consideran sensibles a mayúsculas y minúsculas.

Pregunta 134:

Mi aplicación usa mucho ajax y mis pruebas sufren tiempos muertos mientras uso Selenium 2.0.

Responder

Puede indicar WebDriver para que espere implícitamente la presencia de Element si no están disponibles al instante. De forma predeterminada, esta configuración se establece en 0. Una vez establecida, este valor permanece hasta la vida útil del objeto WebDriver. El siguiente ejemplo esperaría 60 segundos antes de lanzar la excepción ElementNotFound:

Controlador WebDriver = nuevo FirefoxDriver ();

driver.manage (). timeouts (). implícitamenteWait (60, TimeUnit.SECONDS);

Elemento WebElement = driver.findElement (http://By.id (“elementID”));

Referencia:

Pregunta 135:

¿Qué sucede si no quiero usar la espera implícita y quiero esperar solo la presencia de ciertos elementos?

Responder

Puede usar la espera explícita en esta situación para esperar la presencia de cierto elemento antes de continuar con la ejecución de la prueba. Puede utilizar “WebDriverWait” y “ExpectedCondition” para lograr esto:

Controlador WebDriver = nuevo FirefoxDriver ();

WebElement myDynamicElement = (nuevo WebDriverWait (controlador, 60)). Hasta (nuevo ExpectedCondition () {

@Anular

Se aplica WebElement público (WebDriver d) {

return d.findElement (http://By.id (“myDynamicElement”));

}});

Esto va a esperar hasta 60 segundos antes de lanzar la excepción ElementNotFound.

Pregunta 136:

¿Qué es RemoteWebDriver? ¿Cuándo tendría que usarlo?

Responder

RemoteWebDriver es necesario cuando desea utilizar HTMLUnitDriver. Como HTMLUnitDriver se ejecuta en la memoria, no vería que se inicia un navegador,

// Crear instancia HTMLUnitDriver

Controlador WebDriver = nuevo HtmlUnitDriver ();

// Lanzar Yahoo

driver.get (“Yahoo”);

Pregunta 137:

¿Qué idiomas están disponibles para usar con WebDriver?

Responder

Java y C # están a la vanguardia de los lenguajes WebDriver. El soporte también está disponible para Python y Ruby. También hay una biblioteca de script java disponible para Friefox.

Pregunta 138:

¿Cómo manejo la alerta de script Java usando WebDriver?

Responder

WebDriver admitiría el manejo de alertas js usando la interfaz Alert.

// Trae el control de la alerta ya abierta

Alerta alerta = driver.switchTo (). Alert ();

// Obtener el texto de la alerta o solicitud

alert.getText ();

// Haga clic en Aceptar en alerta

alert.accept ();

Pregunta 139:

¿Podría ejecutar de forma segura varias instancias de implementaciones de WebDriver?

Responder

En lo que respecta a los controladores HTMLUnitDriver y FF, cada instancia sería independiente de la otra. En el caso del controlador IE, solo podría haber una instancia del controlador IE ejecutándose en Windows. Si desea ejecutar más de una instancia del controlador IE, entonces debería considerar usar RemoteWebDriver y máquinas virtuales.

Pregunta 140:

¿Es posible interactuar con elementos ocultos usando WebDriver?

Responder

Dado que WebDriver intenta ejercer el navegador tan de cerca como lo harían los usuarios reales, por lo tanto, la respuesta simple es No, pero puede usar las capacidades de ejecución de script Java para interactuar con elementos ocultos.

Pregunta 141:

Tengo todas mis pruebas escritas en Selenium 1.0 (Selenium RC), ¿por qué debería migrar a Selenium 2.0 (WebDriver)?

Responder

Porque –

• WebDriver tiene una API más compacta y orientada a objetos que Selenium 1.0

• WebDriver simula el comportamiento del usuario más de cerca que Selenium 1.0, por ejemplo, si un cuadro de texto está deshabilitado, WebDriver no podría escribir texto mientras Selenium 1.0 sería

• WebDriver es compatible con los proveedores del navegador, es decir, FF, Opera, Chrome, etc.

Pregunta 142:

Mis localizadores XPath y CSS no siempre funcionan con Selenium 2.0, pero solían hacerlo con Selenium 1.0.

Responder

En el caso de XPath, es porque WebDriver utiliza métodos de navegador nativos a menos que no esté disponible. Y esto hace que se rompa XPath complejo. En el caso de Selenium 1.0, los selectores css se implementan utilizando Sizzle Library y no todas las capacidades como “contiene” están disponibles para usarse con Selenium 2.0

Pregunta 143:

¿Cómo ejecuto Java Script en Selenium 2.0?

Responder

Debe usar JavaScriptExecutor para ejecutar el script java en Selenium 2.0, por ejemplo, si desea encontrar el nombre de la etiqueta de un elemento usando Selenium 2.0, puede ejecutar el script java de la siguiente manera:

Elemento WebElement = driver.findElement (http://By.id (“elementLocator”));

String name = (String) ((JavascriptExecutor) driver) .executeScript (

“devolver argumentos [0] .tagName”, elemento);

Pregunta 144:

¿Por qué la ejecución de mi script java no devuelve ningún valor?

Responder

Esto puede ocurrir cuando olvida agregar la palabra clave “return” mientras ejecuta el script java. Observe la palabra clave “return” en la siguiente declaración:

((JavascriptExecutor) driver) .executeScript (“return window.title;”);

Pregunta 145:

¿Hay alguna limitación de los sistemas operativos al usar WebDriver?

Responder

Si bien HTMLUnitDriver, FF Driver y Chrome Driver se pueden usar en todos los sistemas operativos, IE Driver solo se puede usar con Windows.

Pregunta 146:

Dame una descripción arquitectónica de WebDriver.

Responder

WebDriver intenta simular la interacción real del usuario tanto como sea posible. Esta es la razón por la cual WebDriver no tiene el método “fireEvent” y “getText” devuelve el texto como lo vería un usuario real. La implementación de WebDriver para un navegador está impulsada por el lenguaje que es mejor para controlarlo. En el caso de FF, los lenguajes que mejor se ajustan son Javascript en un componente XPCOM y en IE es C ++ usando la automatización de IE. Ahora la implementación que está disponible para el usuario es una envoltura delgada alrededor de la implementación y el usuario no necesita saber acerca de la implementación.

Pregunta 147:

¿Qué es el servidor remoto WebDriver?

Responder

El servidor WebDriver remoto tiene dos componentes: cliente y servidor. El cliente es WebDriver mientras que el servidor es servlet java. Una vez que haya descargado el archivo selenium-server-standalone-.jar, puede iniciarlo desde la línea de comandos como:

java -jar selenium-server-standalone- .jar

Pregunta 148:

¿Hay alguna manera de iniciar Remote WebDriver Server desde mi código?

Responder

Primero agregue jar WebDriver remoto en su ruta de clase. También necesita otro servidor llamado “Jetty” para usarlo. Puede comenzar a cortar de la siguiente manera:

WebAppContext context = new WebAppContext ();

context.setContextPath (“”);

context.setWar (nuevo archivo (“.”));

server.addHandler (contexto);

context.addServlet (DriverServlet.class, “/ wd / *”);

SelectChannelConnector connector = new SelectChannelConnector ();

connector.setPort (3001);

server.addConnector (conector);

server.start ();

Pregunta 149:

¿Pero cuáles son las ventajas de usar Remote WebDriver sobre WebDriver?

Responder

Puede usar Remote WebDriver cuando:

• Cuando desea ejecutar pruebas en un navegador que no está disponible localmente

• Introducción a la latencia adicional a las pruebas.

Pero hay una desventaja de usar Remote WebDriver que necesitaría un contenedor de servlet externo.

Pregunta 150:

¿Me puede mostrar un ejemplo de código de uso de Remote WebDriver?

Responder

// Cualquier controlador podría usarse para la prueba

Capacidades de DesiredCapabilities = nuevas DesiredCapabilities ();

// Habilitar el soporte de JavaScript

Capacidades.setJavascriptEnabled (verdadero);

// Obtenga el controlador

Controlador WebDriver = nuevo RemoteWebDriver (capacidades);

// Inicia la aplicación

driver.get (“Google”);

Pregunta 151:

¿Cuáles son los modos de Remote WebDriver?

Responder

Remote WebDriver tiene dos modos de operaciones:

Modo de cliente: aquí es donde los enlaces de idiomas se conectan a la instancia remota. La unidad FF y los clientes RemoteWebDriver funcionan de esta manera.

Modo servidor: en este modo, los enlaces de idiomas configuran el servidor. ChromeDriver funciona de esta manera.

Pregunta 152:

¿Qué patrones de diseño se pueden usar al usar Selenium 2.0?

Responder

Estos tres patrones de diseño son muy populares al escribir pruebas de Selenium 2.0:

1. Objetos de página: que resumen la interfaz de usuario de la página web

2. Lenguaje específico del dominio: que intenta escribir pruebas que podrían ser entendidas por un usuario normal sin conocimientos técnicos.

3. Pruebas de estilo de bot: sigue una secuencia de comandos de prueba “similar a un comando”

Pregunta 153:

Entonces, ¿debo seguir estos patrones de diseño mientras escribo mis pruebas?

Responder

En absoluto, estos patrones de diseño se consideran las mejores prácticas y puede escribir sus pruebas sin seguir ninguno de esos patrones de diseño, o puede seguir un patrón de diseño que se adapte mejor a sus necesidades.

Pregunta 154:

¿Hay alguna manera de habilitar el script java mientras se usa HTMLUnitDriver?

Responder

Utilizar este –

Controlador HtmlUnitDriver = nuevo HtmlUnitDriver ();

driver.setJavascriptEnabled (verdadero);

o esto –

Controlador HtmlUnitDriver = nuevo HtmlUnitDriver (verdadero);

Pregunta 155:

¿Es posible emular un navegador con HTMLUnitDriver?

Responder

Puede emular el navegador mientras usa HTMLUnitDriver, pero no se recomienda ya que las aplicaciones están codificadas independientemente del navegador que use. Puede emular el navegador Firefox 3 con HTMLUnitDriver como –

Controlador HtmlUnitDriver = nuevo HtmlUnitDriver (BrowserVersion.FIREFOX_3);

O puede inyectar las capacidades deseadas mientras crea una instancia de HTMLUnitDriver como:

Controlador HtmlUnitDriver = nuevo HtmlUnitDriver (capacidades);

Pregunta 156:

¿Cómo uso el controlador de iPhone?

Responder

Debe iniciar el SDK de iPhone y compilar el controlador de iPhone. Descargar herramientas de desarrollo de iPhone y perfil de aprovisionamiento. Ahora el controlador de iPhone puede conectarse a través de HTTP al simulador de iPhone. También puede ejecutar el simulador en otra máquina en su red y WebDriver podría conectarse de forma remota.

Pregunta 157:

¿Es posible convertir la prueba Selenium IDE a la prueba WebDriver?

Responder

Por ahora no hay ningún formateador disponible para convertir las pruebas de Selenium IDE a las pruebas correspondientes de WebDriver, por lo tanto, la respuesta simple es No. Sí, el estilo de código de WebDriver se puede generar a partir de Selenium IDE

Pregunta 158:

¿Puede WebDriver manejar certificados UnStrustedSSLC?

Responder

Actualmente, esta característica es compatible con el navegador Firefox y está pendiente de implementación en los controladores de IE y Chrome.

Pregunta 159:

¿Puedo realizar varias operaciones a la vez mientras uso WebDriver?

Responder

Puede usar el patrón Builder para lograr esto. Por ejemplo, si desea mover un elemento de un lugar a otro, puede usar esto:

Generador de acciones = nuevas acciones (controlador);

Acción dragAndDrop = builder.clickAndHold (elemento)

.moveToElement (otherElement)

.release (otherElement)

.construir();

dragAndDrop.perform ();

Pregunta 160:

¿Cómo simulo las teclas del teclado con WebDriver?

Responder

Hay una interfaz de teclado que tiene tres métodos para admitir la interacción del teclado:

• sendKeys (CharSequence): envía la secuencia de caracteres

• pressKey (Keys keyToPress): envía una pulsación de tecla sin soltarla.

• releaseKey (Keys keyToRelease): libera una tecla modificadora

Pregunta 161:

¿Qué pasa con la interacción del ratón?

Responder

La interfaz del mouse le permite realizar las siguientes operaciones:

• click (elemento WebElement): hace clic en un elemento

• doubleClick (elemento WebElement): hace doble clic en un elemento.

• void mouseDown (elemento WebElement): mantiene presionado el botón izquierdo del mouse sobre un elemento.

• mouseUp (elemento WebElement): libera el botón del mouse sobre un elemento.

• mouseMove (elemento WebElement): mueve el elemento desde la ubicación actual a otro elemento.

• contextClick (elemento WebElement): realiza un clic contextual (clic derecho) en un elemento.

Pregunta 162:

¿Cómo funciona Android Webdriver?

Responder

Android WebDriver utiliza Remote WebDriver. El lado del cliente es el código de prueba y el lado del servidor es la aplicación instalada en el emulador de Android o dispositivo real. Aquí el cliente y el servidor se comunican utilizando el protocolo de conexión JSON que consiste en solicitudes de descanso.

Pregunta 163:

¿Cuáles son las ventajas de usar Android WebDriver?

Responder

El controlador web de Android se ejecuta en el navegador de Android, que es la mejor interacción real del usuario. También usa eventos táctiles nativos para emular la interacción del usuario.

Pero también hay algunos inconvenientes, es más lento que el controlador WebKit sin cabeza. XPath no es compatible de forma nativa en la vista web de Android.

Pregunta 164:

¿Hay un soporte DSL (lenguaje específico de dominio) incorporado disponible en WebDriver?

Responder

No existe, pero puede crear fácilmente su propio DSL, por ejemplo, en lugar de usar:

webDriver.findElement (http://By.name (“q”)). sendKeys (“Prueba”);

Puede crear un método más compuesto y usarlo.

public static void findElementAndType (WebDriver webDriver, String elementLocator, String testData) {

webDriver.findElement (http://By.name (elementLocator)) .sendKeys (testData);

}

Y ahora solo necesita llamar al método findElementAndType para hacer una operación de tipo.

Pregunta 165:

¿Qué es grid2?

Responder

Grid2 es Selenium grid para Selenium 1 y WebDriver. Esto permite:

• Ejecute pruebas en paralelo en diferentes máquinas

• Administrar múltiples entornos desde un punto

Pregunta 166:

¿Cómo inicio máquinas concentradoras y esclavas en la cuadrícula 2?

Responder

Desplácese a su servidor jar de selenio descarga independiente y ejecute el siguiente comando:

java -jar selenium-server-standalone-.jar -role hub

E inicias la máquina Slave ejecutando el siguiente comando:

Java –jar selenium-server-.jar –role webdriver -hub http: // localhost: 4444 / grid / register -port 6666

Pregunta 167:

¿Y cómo ejecuto pruebas en la cuadrícula?

Responder

Debe usar RemoteWebDriver y el objeto DesiredCapabilities para definir el navegador, la versión y la plataforma para las pruebas. Cree capacidades de navegador dirigidas como:

Capacidad de DesiredCapabilities = DesiredCapabilities.firefox ();

Ahora pase capacidades al objeto Remote WebDriver –

Controlador WebDriver = nuevo RemoteWebDriver (nueva URL (“http: // localhost: 4444 / wd / hub”), capacidad);

Después de esto, el centro se encargará de asignar pruebas a una máquina esclava

Pregunta 168:

¿Qué parámetros se pueden pasar a grid2?

Responder

Puede pasar los siguientes parámetros a la cuadrícula 2:

• -port 4444 (predeterminado 4444)

• -nodeTimeout (valor predeterminado 30) el tiempo de espera en segundos antes de que el concentrador libere automáticamente un nodo que no ha recibido ninguna solicitud durante más de la cantidad de segundos especificada.

• -maxConcurrent 5 (5 es el valor predeterminado) El número máximo de navegadores que pueden ejecutarse en paralelo en el nodo.

Selenium Tool Implementation Preguntas varias

Pregunta 169:

¿Cómo implemento las pruebas basadas en datos usando Selenium?

Responder

Selenium, a diferencia de otras herramientas comerciales, no tiene soporte directo para pruebas basadas en datos. Su lenguaje de programación lo ayudaría a lograr esto. Puede usar la biblioteca jxl en el caso de Java para leer y escribir datos del archivo Excel. También puede usar las capacidades controladas por datos de TestNG para realizar pruebas controladas por datos.

Pregunta 170:

Lo que es equivalente al paso de prueba, el escenario de prueba y el conjunto de pruebas en Selenium.

Responder

Si está utilizando el controlador de cliente Java de Selenium, el método de prueba TestNG podría considerarse equivalente al paso de prueba, una etiqueta de prueba podría considerarse como un escenario de prueba y una etiqueta de conjunto podría considerarse equivalente a un conjunto de pruebas.

Pregunta 171:

¿Cómo obtengo el valor de atributo de un elemento en Selenium?

Responder

Podrías usar el método getAttribute

Con Selenium 1.0 –

Cadena var = selenium.getAttribute (“css = input [name = ‘q’] @ maxlength”);

System.out.println (var);

Con Selenium 2.0 –

Cadena var = webDriver.findElement (By.cssSelector (“input [name = ‘q’]”)). GetAttribute (“maxlength”)

System.out.println (var);

Pregunta 172:

¿Cómo hago pruebas de base de datos usando Selenium?

Responder

Selenium no admite pruebas de bases de datos, pero su enlace de idioma sí. Por ejemplo, mientras usa el controlador de cliente java, puede usar la conectividad de la base de datos java (jdbc) para establecer la conexión a la base de datos, buscar / escribir datos en la base de datos y hacer una comparación de datos con el front end.

Pregunta 173:

Completé la ejecución de la prueba y ahora quiero enviar un informe de prueba por correo electrónico.

Responder

Si está utilizando la herramienta de compilación “ant”, puede usar la tarea “mail” para entregar los resultados de la prueba. Capacidades similares están disponibles en las herramientas de Integración de construcción continua como – Hudson.

Pregunta 174:

¿Cómo hago mis exámenes más comprensibles?

Responder

Pruebas de selenio que se escriben como:

selenium.click (“addForm: _ID74: _ID75: 0: _ID79: 0: box”);

Haz que sea difícil entender el elemento sobre el que se está ejerciendo.

En lugar de codificar el localizador de elementos en las pruebas, debe externalizarlos. Por ejemplo, con Java puede usar el archivo de propiedades para contener localizadores de elementos y luego la referencia del localizador se proporciona en el script de prueba. Siguiendo este enfoque, el paso de prueba anterior se vería como

selenium.click (PolicyCheckbox);

Y esto es mucho más comprensible.

Pregunta 175:

¿Por qué debería usar Page Object?

Responder

El objeto de página es un patrón de diseño que distingue el código que realiza operaciones en la página y el código que realiza pruebas (afirmación / verificación). Al implementar el objeto de la página, el funcionamiento abstracto de una página o parte de ella en una “Clase” dedicada que luego es utilizada por el script de prueba para realizar acciones en la página y llegar a una etapa en la que se podría realizar la prueba real.

La ventaja de usar el objeto de página es el hecho de que si la aplicación presenta cambios, solo necesita modificar la parte de navegación y la prueba funcionaría intacta.

Fuente: Guía de garantía de calidad del software

¿Qué hacer a continuación?

  1. Si realmente te beneficias de mi respuesta, vota y ayuda a otros lectores
  2. Guarde las preguntas / respuestas en una palabra o pdf para referencia local. Eventualmente puede escribir mejores respuestas y publicarlas debajo de mi respuesta como ‘comentario’

El nivel de dificultad de la entrevista para un Selenium Automation Tester varía según la cantidad de años de experiencia.

1 – 3 años

  • Conceptos básicos de pruebas de software
  • Ciclo de vida de desarrollo de prueba
  • Cómo y por qué se necesita Test Automation
  • Varias herramientas para la automatización de pruebas.
  • Comparación de herramientas de automatización de pruebas
  • Pros y contras de usar selenio
  • Diferencia entre Selenium IDE y WebDriver
  • ¿Cómo se inicializa WebDriver?
  • ¿Qué navegadores son compatibles?
  • ¿Qué sistemas operativos son compatibles?
  • ¿Cómo maximizar o cambiar el tamaño de una ventana del navegador?
  • ¿Cómo navegar hacia atrás y adelante?
  • ¿Qué son los selectores / localizadores? ¿Cuántos hay? ¿Cómo usarlos? ¿Cuál es el más rápido?
  • ¿Cuáles son las excepciones en caso de elemento no visible / presente / actualizado?

3 – 5 años

  • Todas las preguntas de 1-3 YoE
  • Conceptos básicos de la automatización de pruebas
  • Metodología ágil
  • SDLC
  • ¿En qué herramientas de automatización has trabajado?
  • ¿En qué marcos de automatización has trabajado?
  • Pros y contras de las herramientas de automatización.
  • Pros y contras de los marcos de automatización.
  • ¿Cómo podría haber mejorado el marco en el que trabajó?
  • Explicar la arquitectura del marco en el que trabajó
  • ¿Qué es el modelo de objeto de página?
  • ¿Con qué herramientas de integración continua te ha interesado el marco de automatización?
  • ¿Cuáles fueron los desafíos de ejecución que enfrentó?
  • ¿Qué es la cuadrícula de selenio?
  • ¿Cómo implementaste Grid?
  • ¿Cómo proporcionó los resultados de la prueba o el informe?
  • ¿Qué marco prefiere en el escenario XYZ o para el tipo de aplicación XYZ y por qué?
  • ¿Cómo manejas las ventanas del navegador?
  • ¿Se pueden automatizar las aplicaciones de escritorio con Selenium?
  • ¿Cómo se integra AutoIT con Selenium WebDriver?
  • ¿Cómo se pueden probar los servicios web?
  • ¿Qué herramientas se utilizan para probar los servicios web?
  • ¿Qué son BDD, TDD y ATDD? Diferenciarlos.

Algunos marcos de Selenium WebDriver: basados ​​en palabras clave, basados ​​en datos, híbridos, basados ​​en comportamiento, TestNG, etc.

5-7 años

  • Todas las preguntas de 3-5 años
  • ¿Qué es un arnés de prueba?
  • Metodologías ágiles
  • Planificación y estimación de pruebas.
  • ¿Cómo definir el alcance de la automatización de pruebas?
  • ¿Cómo determinar la idoneidad y viabilidad de la herramienta o el marco de automatización de pruebas?
  • ¿Qué marcos has implementado y administrado?
  • ¿Cuál fue el ROI de Test Automation?
  • ¿Cómo puede mejorar el ROI de Test Automation?

Esto es todo lo que puedo pensar por ahora.

Consulte las preguntas de ejemplo a continuación que pueden usarse para

  • preparándose para una entrevista de Selenium
  • entrevistar candidatos en una entrevista de Selenium

Se agrupan en varias categorías, como

  • esperas explícitas
  • localizadores
  • arquitectura de selenio webdriver
  • modelo de objeto de página
  • examen de la unidad
  • marco de referencia
  • maven
  • Java
  • biblioteca de selenio webdriver

Agregué algunas preguntas en cada categoría, pero si desea ver la lista completa y los artículos que ayudan con las respuestas, consulte el enlace al final de esta publicación.

ESPERAS EXPLÍCITAS

  • ¿Para qué se puede usar una espera explícita?
  • ¿Cómo funciona una espera explícita?
  • ¿Cuál es la diferencia entre driver.findElement () ywait.until (ExpectedCondition.visibililityOfElementLocated (locator))
  • ¿Qué son las esperas fluidas?

LOCALIZADORES

  • ¿Cuándo debe usar los localizadores XPATH? ¿Cuándo no deberías usarlos?
  • ¿Cómo se muestra una página web en el navegador?
  • ¿Cuáles son los mejores tipos de localizador de elementos?
  • ¿Cómo encuentra un elemento que se incluye en un marco?

ARQUITECTURA SELENIUM WEBDRIVER

  • ¿Cómo funciona Selenium WebDriver?
  • ¿Cuáles son las diferencias entre los controladores de Chrome, IE y Firefox? ¿Dónde puedes encontrar estos controladores?
  • ¿Cuál es la diferencia entre ChromeDriver y los navegadores sin cabeza?

PÁGINA MODELO DE OBJETO

  • Explicar cómo funciona el modelo de objeto de página.
  • ¿Qué es un componente de página?
  • ¿Cómo funciona una Page Factory?

EXAMEN DE LA UNIDAD

  • ¿Cómo hace que los scripts de prueba dependan de Test NG?
  • ¿Cuál es la diferencia entre @Before y @BeforeClass en JUNIT?
  • ¿Cómo se eliminan los métodos setUp () y tearDown () de la clase de prueba?
  • ¿Cómo ejecuta solo los scripts de prueba de alta prioridad?
  • ¿Cuáles son las cosas típicas que se pueden hacer en el método setUp ()?

MARCO DE REFERENCIA

  • ¿Cómo se crea el objeto del controlador web en el marco?
  • ¿Cómo se estructura el marco?
  • ¿Cómo se aísla el código API de Selenium WebDriver de las clases de objeto de página?

MAVEN

  • ¿Cómo ejecuta scripts de prueba en el símbolo del sistema?
  • ¿Cómo ejecuta scripts de prueba en paralelo?
  • Como esta jenkins ¿Como funciona?
  • ¿Qué sucede cuando ejecutas la prueba mvn?

JAVA

  • ¿Cuál es la diferencia entre una clase abstracta y una interfaz?
  • ¿Cómo funciona el polimorfismo?
  • ¿Cuál es la diferencia entre herencia y composición?

BIBLIOTECA DE SELENIUM WEBDRIVER

  • Controlador WebDriver = nuevo FirefoxDriver (). ¿Como funciona? ¿Por qué necesita las clases WebDriver y FirefoxDriver?
  • ¿Cómo genera informes para sus scripts de prueba?
  • ¿Cómo se realizan pruebas de navegador cruzado con Selenium WebDriver?
  • ¿Cómo hacer que los scripts de Selenium WebDriver sean más rápidos?
  • ¿Cómo ejecuta scripts de prueba en paralelo?

Vea la lista completa de preguntas de la entrevista en este enlace:

Preguntas de la entrevista de Selenium WebDriver

Para el propósito de la entrevista, le sugeriré algunas preguntas como.
1. ¿Qué es la automatización?
2. Cómo comunicarse con diferentes viudas.
3. Cómo capturar capturas de pantalla.
4. Cómo cambiar el tamaño de la viuda.
5. ¿Cómo selecciona las opciones de un cuadro desplegable?
6. cómo probar la carga.
7. ¿Cómo se ejecuta la automatización en diferentes navegadores?
8. ¿Cómo se genera un informe?
9. ¿Qué es JUnit?
10. ¿Cómo se genera un informe en formato HTML?
Estas son pocas preguntas comunes que el entrevistador puede hacerle.

Y para practicar y poder trabajar en compañía, le sugiero que intente automatizar los sitios por su cuenta.
Por ejemplo: –
abrir Gmail
redacta un correo electrónico
ingrese la dirección de correo
ingrese el mensaje
Haga clic en el botón Enviar.

Luego, vaya a la automatización de diferentes funcionalidades de gmail. después de que haya terminado con estos, intente tomar la entrada de la hoja de Excel como nombre de usuario y contraseña identificando las palabras clave en la hoja de Excel.

Luego, vaya a la generación de informes mientras cualquiera de los casos de prueba falla usando JUnit o TestNG.

Después de eso, intente generar un informe en formato HTML configurando con ANT y escribiendo el archivo BUIT.XML.

Para fines teóricos, pruebe este enlace.

1. Tutoriales gratuitos de Selenium
2. Tutorial de selenio

Gracias

Gracias A2A

No hay ninguna regla dura y rápida para descifrar la entrevista de selenio. Solo necesita concentrarse más en los escenarios reales, solo en ejemplos prácticos.

Vea a continuación algunos buenos tutoriales para preguntas de entrevistas de pruebas de automatización para Selenium.

  1. Tutorial de selenio
  2. Tutoriales gratuitos de Selenium
  3. Selenio Fácil
  4. Tutoriales de Selenium 31+ Mejores tutoriales gratuitos de capacitación de Selenium
  5. Tutorial de selenio para principiantes
  6. Selenium Training Java Parte 1
  7. Tutorial de Selenium: aprenda Selenium Webdriver en línea gratis paso a paso

PD Por último, pero no menos importante, siempre crea en el trabajo duro en lugar de los atajos en las pruebas de automatización de aprendizaje.

Buena suerte para las pruebas de automatización.

Depende de varios factores si están buscando

Probador de automatización de nivel de entrada

Las posibles preguntas serían:

¿Qué es el selenio?

¿Cómo tomar una captura de pantalla?

¿Diferencia entre camino absoluto y relativo?

¿Diferencia entre espera implícita y explícita?

¿Qué están localizando los chniques?

¿Cuáles son las limitaciones de Selenium RC?

¿Qué es la misma política de origen?

Pregunta relacionada con conceptos básicos Operación como Cómo abrir un navegador en modo sin cabeza, safari, Chrome o IE

¿Se pueden hacer preguntas relacionadas con la elaboración de perfiles?

¿Cuáles son las capacidades deseadas ?

¿Pregunta sobre cómo cambiar a i frame, window & tab?

F o Candidato Experimentado :

Pregunta relacionada con la lectura y escritura de datos del archivo de Excel.

Tipos de marco?

¿Cuáles son los tipos de excepción?

Anotación de junit & TestNg?

¿Cómo manejas los ID cambiantes dinámicos?

¿Se le preguntará para escribir alguna sintaxis o programas básicos?

¿Cómo manejará las ventanas emergentes y operaciones más complejas como javascript Scrolling?

¿Qué es el POM?

¿Qué son las dependencias, los archivos de propiedades y los archivos de configuración?

¿Cómo reducir mi tiempo de ejecución de los scripts cuando el número de casos de prueba es alto?

¿Cómo manejar la latencia de red usando selenio?

¿Qué es el repositorio de objetos?

¿Qué es la clase de acción en webdriver?

Pregunta relacionada con Apache Poi?

Para la posición de plomo como :

¿Qué marco usas?

¿Has diseñado el marco?

Sobre la base del marco que utilizó o diseñó, ¿se le haría una pregunta?

¿Qué es el marco híbrido?

¿Qué es el BDD?

¿Cómo ejecutarías tu escenario más rápido si los casos de prueba tienen dependencia?

¿Cómo implementan las pruebas basadas en datos?

Cómo ejecutar pruebas en múltiples navegadores paralelos ¿Hay alguna otra opción que no sea la cuadrícula de selenio?

¿Cuál es el problema de prueba MÁS desafiante en su carrera en Automatización?

¿Cómo gestiona la versión del código en su proyecto?

¿Cómo integrar el script de automatización con la herramienta CI como jenkins?

¿Puedes ejecutar tu suite de automatización en la nube?

La lista es demasiado larga, lo sé y puedo ir más lejos, pero solo la pregunta no ayudará

Pruebas en tiempo real La experiencia sería más beneficiosa

Mostrar la confianza y clavarlo

Los mejores deseos

Si quieres más preguntas, házmelo saber

Debe ser claro con sus conceptos básicos, los siguientes son los puntos para recordar

  1. El lenguaje de programación que usas
  1. Asegúrate de conocer perfectamente la parte central
  2. Si es Java, aprenda los conceptos básicos de Uy
  3. Podría haber una prueba en el lenguaje de programación.
  4. Excel lectura escritura
  • Tipos de marco que trabajó o conoce
    1. Impulsado por palabras clave
    2. Híbrido
    3. Marco de murciélagos
    4. Etc ..
  • Sus roles y responsabilidades en el proyecto que trabajó.
    1. En su mayoría, tratarían de saber qué tan profundo estuvo involucrado o si fue un probador manual y desea cambiar su transmisión
    2. Los desafíos que enfrentaste
    3. Tus ideas implementadas en tu proyecto
  • Podría esperar dos pruebas, una para el código del lenguaje de programación y otra para el selenio durante los walkins
    1. En el selenio tratarán de enfocarse en la sintaxis, agregarán métodos que no existen
    2. Las clases de selenio.
    3. Tipos de espera
    4. Esta prueba es muy simple, solo cambian un poco de sintaxis.
    5. La parte de Java que conozco es dura
    6. Se centran en la elección de más asistentes.
    7. Tenga cuidado durante la prueba, no lo estropee, es simple, pero debe concentrarse
  • Podrían preguntarte sobre la intigración continua
    1. Maven
    2. Jenkins
  • Podrían preguntarle sobre los informes que se utilizaron.
    1. ReportNG
    2. Etc..No utilicé ninguna otra todavía 😛
    3. O si hubiera algún sistema de informes interno
  • ¿Cómo se hizo el registro?
    1. Log4j
  • Autoit utiliza y formas alternativas
    1. Utilizado para cargar archivos
    2. Una forma alternativa es pasar el directorio en las teclas de envío

    Espero que despejes la entrevista, responde si tienes éxito.

    La mejor de las suertes

    Hola querida,

    Según mi experiencia, puedo decir

    Consideremos algunos de los puntos sobre el entrevistador:

    Lo que piensan las entrevistas, lo que consideran, lo que califican para nosotros mismos.

    entonces, para esto primero debes aclarar todas las dudas básicas del lenguaje.

    supongamos que está utilizando JAVA para el selenio y luego borre todo el concepto básico.

    El entrevistador siempre considera su concepto, por ejemplo, cómo piensa lógicamente.

    como cuando alguien le asigna un proyecto para automatizar, entonces cómo puede lidiar con eso.

    En este caso, su respuesta debería:

    – Comprender los requisitos del proyecto.

    – ¿Este proyecto se maneja con Selenium?

    – Qué marco sigues.

    – Cuántos escenarios cubrirás para lograr toda la funcionalidad.

    En el último, si habla sobre el pensamiento interesante, como si enfrentara cualquier problema y lo manejara usando selenio

    o Automatización, esto realmente se ve afectado en su perfil.

    – Nikunj Pitroda

    – Cuando asiste a una entrevista de automatización y la empresa utiliza Selenium como herramienta de automatización. Los siguientes son algunos de los puntos a tener en cuenta al asistir a la entrevista:
    1) El entrevistador puede estar interesado en conocer el tipo de marco que ha utilizado anteriormente.
    2) ¿Cuáles son los desafíos que enfrentó (selenio 1/2)? ¿Cómo lo eludiste?
    3) ¿Cuál fue la estructura de informes de la automatización que tenía en su proyecto?
    4) Si seguiste ágil, ¿cómo hiciste la automatización (primera semana de sprint o segunda semana)?
    5) ¿Usó TestNG o Junit para ejecutar las pruebas?
    6) Experiencia en programación (Python / Java): preguntas simples para verificar su dominio del lenguaje de programación.
    7) Algunas preguntas específicas de selenio pueden ser:
    – Manejo de ventanas emergentes.
    – Manejo de selector de fecha.
    – iframes
    – Opción de capacidades deseadas en el controlador web.
    – selenium rc vs webdriver
    – Dormir y esperar explícitamente.
    – diferencia entre driver.close () y driver.quit ().
    – Muchas más preguntas para verificar tu comprensión

    En primer lugar, aprenda selenio y cree algunos scripts de automatización sobre portales de comercio electrónico de prueba

    Puedes referir –

    Tutoriales de selenio

    Tutorial de selenio

    Tutorial de Selenium: aprenda Selenium Webdriver en línea gratis paso a paso

    Si está dispuesto a ahorrar dinero en tutoriales de calidad en línea, consulte: Selenium Training Java Parte 1 POR Ashish Thakur Su video tutorial está muy bien documentado

    En segundo lugar, practique las 100 preguntas de entrevista principales para: Pruebas de software, Selenium, Automatización de pruebas en la Web.

    Por último, pero no menos importante, prepárate con todas las cosas mencionadas por Zeeshan Siddiqui

    La respuesta de Zeeshan Siddiqui a ¿En qué debería concentrarme para descifrar la entrevista de automatización de Selenium?

    Necesitas saber seguir las cosas para descifrar la entrevista de selenio.

    • Web Driver funcionalistas con opciones de navegación
    • Posible forma de localizar el elemento web para el controlador web
    • Debe tener conocimiento de las funcionalidades específicas del navegador.
    • Técnicas de localización de elementos web como xpath, css selector, id, etc.
    • Concepto de espera del controlador web [Espera del controlador web hasta que el elemento específico sea visible]
    • Ejecutor Javascript

    Creo que es mejor que te concentres a continuación.

    1. Concepto base en automatización de selenio.
    2. Algunos ejemplos genéricos de controladores web que debe conocer.
    3. Practique sobre algunos problemas poco comunes que puede encontrar en la automatización de selenio.

    El siguiente artículo puede ayudarte.

    Preguntas y respuestas de la entrevista para Selenium Webdriver que quizás quiera saber – Tutorial de Java, Tutorial de Selenium

    Conceptos básicos de Java.

    En selenio: localizadores y marco, etc.

    Preguntas de prueba manual.

    Selenium Questions – Tutoriales gratuitos de Selenium y preguntas de la entrevista de Selenium

    Prueba de selenio – Tutoriales gratuitos de selenio y preguntas de la entrevista de selenio