2011-01-23 7 views
16

En Selenium download page, hay un enlace al Selenium RC (control remoto).¿Cuál es la diferencia entre Selenium Remote Control y Selenium Server?

En another Selenium download page, hay enlaces para un RC selenio 1.0.3, así como Selenio 2 Servidor, a veces también llamado Selenio 2 Servidor independiente.

¿Cuál es la diferencia entre ellos?

Si hay limitaciones, ¿cuáles son las limitaciones de cada una?

¿El servidor Selenium está reemplazando el control remoto?

pregunta relacionada: selenium remote control vs webdriver

Respuesta

26

Debería echar un vistazo al documentation outlining the different parts of Selenium. Ese es un buen lugar para comenzar, ya que lo guía a través del proceso de configuración. Divulgación completa, ayudo a escribir los documentos.

En cuanto a esas descargas, el primer enlace que tiene son los lanzamientos oficiales para el proyecto. El segundo enlace es la versión beta actual, una vez que lleguen a 2.0 estarán en el sitio.

  • Selenio Core - más un componente de selenio que un proyecto independiente. Sin entrar en el historial del proyecto, Selenium fue una vez solo una colección de archivos .js que automatizaban un navegador. Nadie los usa directamente, solo están ahí por razones heredadas.
  • Selenium IDE - un complemento de Firefox para grabación/reproducción.Es posible que desee comenzar con esto, para acostumbrarse a la API, pero lo superará pronto
  • Selenium RC y cuando lo supere, utilizará el control remoto Selenium. Selenium 1.x es una arquitectura cliente-servidor. Utiliza las bibliotecas RC para programar pruebas que se comunican con el servidor, y el servidor transmite esos comandos a un navegador.
  • Selenium Grid - una forma de ejecutar las pruebas de selenio en una red distribuida de computadoras. Bueno para acelerar las cosas una vez que tienes muchas pruebas.
  • Cubic Test - Una herramienta basada en eclipse que aprovecha el selenio para las pruebas. No estoy seguro de lo popular que es.
  • Bromine - una herramienta de gestión de scripts y pruebas basada en la web. Utiliza selenio RC para ejecutar pruebas.

Luego llegamos al Selenium 2 beta. Selenium 2 es una desviación importante del modelo Selenium 1 porque no requiere un servidor Selenium. Digo 'requiere' porque es opcional ejecutar las pruebas de forma remota en otra computadora. Selenium Server Standalone es el servidor que usarías para esto. Es compatible con Selenium-RC y Selenium 2 para fines remotos.

Es posible que haya visto a Selenium 2 como WebDriver. WebDriver fue otro proyecto que se fusionó hace un par de años y se convirtió en la base para Selenium 2. Es por eso que Selenium 2 tiene una interfaz WebDriver, a veces llamada api "WebDriver" para distinguirla de Selenium-RC.

Si recién está empezando, eche un vistazo al Selenium 2. Se está obteniendo el 99.9% del amor de los desarrolladores en este momento, y las aplicaciones de Selenium 1.x no seguirán avanzando. A partir de enero de 2011, las bibliotecas de Java son las mejores compatibles, seguidas de cerca por .Net y Python/Ruby. Watir (la popular biblioteca de automatización de navegadores Ruby) usa selenio debajo del capó si quieres otra opción de API.

+0

¡Muchas gracias por esta respuesta! Puedo entender la arquitectura cliente/servidor en Selenium 1 y 2. Sin embargo, dijiste que el servidor es opcional en Selenium 2 ... ¿Cómo funciona sin ese servidor? Puede proporcionar una explicación rápida? –

+1

Cada navegador tiene un controlador especialmente diseñado que interactúa de la manera más "natural" posible. C++ para IE, complemento de JavaScript para Firefox, applescript para Safari. Esto significa que es más lento para admitir navegadores nuevos, pero el ajuste es mucho mejor que Selenium 1. La biblioteca de Selenium 2 habla directamente con ese controlador. Puede no ser útil pensar en Selenium 2 como cliente/servidor. Ese servidor es solo para ejecutar pruebas usando RemoteDriver, que es más avanzado. Definitivamente debe echar un vistazo a los documentos para Selenium 2 ejemplos http://seleniumhq.org/docs/09_webdriver.html – pnewhook

+0

El enlace en la respuesta y el de su comentario anterior están muertos –

6

La documentación sobre Selenium's website dice que el mando a distancia consiste en

  • un servidor de bibliotecas de cliente

El servidor es responsable de realizando el trabajo real (ejecución de acciones en el navegador) mientras que sus especificaciones para acciones (control de ejecución) provienen de diferentes bibliotecas.

Esto se llama control remoto porque no es necesario implementar el servidor en la misma máquina donde se ejecutan las secuencias de comandos reales. Los scripts se pueden conectar a un servidor de selenio remoto a través de la red y ejecutar acciones.

En resumen, cuando usa el control remoto Selenium, está utilizando las bibliotecas de servidor + cliente. Están destinados a ser usados ​​juntos.

No sé si esto va a ser lo mismo para Selenium 2 o si están cambiando las cosas. Estoy seguro de que así es como funcionan las cosas para Selenium 1.

Cuestiones relacionadas