/ / Selenium WebDriver y Selenium server - selenium-webdriver, selenium-rc

Selenium WebDriver y el servidor Selenium - selenium-webdriver, selenium-rc

Necesito tu ayuda para cablear cosas relacionadas conselenio. Ahora, durante las últimas semanas, he estado leyendo sobre los documentos de Selenium. Hay selenio IDE (una extensión de Firefox para pruebas de grabación y reproducción) Selenio RC - (selenio 1.0). Esto parece estar obsoleto ahora y utiliza un servidor proxy HTTP para ejecutar la prueba en varios navegadores. Selenium Web Driver - (selenio 2.0). Este es el último y uno que debe usarse ahora para pruebas automatizadas. (Cada navegador implementa la API del controlador web) También leí que el controlador web interactúa con el soporte nativo del navegador para la automatización y no requiere un servidor HTTP.

Luego está este servidor Selenium. (Selenium stand alone server escrito en java) La interacción con el servidor de selenio es a través del protocolo de conexión JSON. (donde cada enlace de idioma llama al servidor Selenium que pasa datos JSON a través de HTTP)

Ahora tengo la siguiente pregunta:

  1. ¿El servidor Selenium es el mismo que el servidor proxy utilizado en selenium? RC?

  2. ¿El selenio RC utiliza el protocolo de cable JSON.

  3. ¿Dónde está Selenium Server cabe en Selenium 2.0, si el controlador web interactúa con el soporte nativo del navegador para la automatización.

  4. Digamos que estoy ejecutando mis pruebas usando selenium 2.0, cliente java biblioteca, en el navegador chrome. Cuando llamo a la API de WebDriver, ¿cómo funciona? interactúa con el controlador de cromo? ¿Utiliza el protocolo JSON Wire?

... Tengo más preguntas, pero necesita la respuesta de las anteriores para despejar la nube de Selenium en mi cabeza.

Respuestas

1 para la respuesta № 1

1- Selenium Server 2.0 es compatible con Selenium RC. El aumento de la versión de 1.0 a 2.0 se debió principalmente a que agregaron la API WebDriver al servidor. Entonces, Selenium Server 2.0 incluye a Selenium RC.

Hace unos meses, eliminaron la API de Selenium RC de Selenium Server, siendo ese el factor principal para volver a aumentar el número de versión, esta vez a 3.0.

Nota: Aún puede usar la RC API con Selenium 3 (usando un módulo heredado que no sale de la caja con el servidor de Selenium .jar), pero dado que la RC API se implementa utilizando WebDriver en lugar de Selenium Core, algunas pruebas podrían comportarse de manera diferente.

2- No, Protocolo JSON Wire es el protocolo WebDriver, tipo de enlace a la Interfaz WebDriver o API. Doc W3C aquí. El JSON Wire Protocol podría verse como la forma de representar en el contexto de una comunicación cliente / servidor, el comandos definido en el enlace de la API de WebDriver (por ejemplo, ir a una URL específica, hacer clic en un elemento, ...).

3- Selenium Server es un "servidor WebDriver". Sus scripts de prueba pueden comunicarse con él utilizando el protocolo JSON Wire y envían "comandos de WebDriver". Dependiendo de la capacidad que necesiten los scripts de prueba (por ejemplo, qué navegador desean usar los scripts de prueba), el Servidor Selenium "reenvía / ejecuta" los comandos de una forma u otra.

Si especificaste que quieres la unidad HtmlSin cabeza, el Selenium Server no reenviará los comandos a ningún otro proceso, sino que los ejecutará utilizando el HtmlUnitDriver que viene incluido con el Selenium Server.

Si especificó que desea que el navegador Chrome, Selenium Server "reenviará" los comandos al ChromeDriver(En el caso de Chrome, el controlador WebDriver es un proceso completamente independiente del "Servidor WebDriver").

De esta manera, Selenium Server es útil paraConcéntrese en un punto, fuera de sus scripts de prueba, toda la carga necesaria para hacer frente a varios navegadores. Puede configurarlo para tratar con varios navegadores.

Además puedes hacer que Selenium Server se comporte como un cuadrícula, y solo hable con un punto final, el hub, que se encargará de distribuir las pruebas a todos los nodos registrados.

4- Sí, parcialmente ya explicado. Solo agregue que puede conectarse directamente desde sus scripts de prueba al ChromeDriver si lo desea.