Diferencia transportador de ejecución con / sin Selenio?


Comprobando la documentación de protractor , veo que hay una opción para ejecutar protractor sin usar Selenium server usando la bandera directConnect: true.

¿Cuál es la diferencia entre ejecutar pruebas de transportador con un servidor selenium y sin un servidor selenium que no sea el hecho de que solo Chrome, Firefox son compatibles para este último caso?

Author: alecxe, 2015-06-02

2 answers

En primer lugar, actualmente, usted tiene 5 diferentes opciones integradas / formas de conectarse a los controladores del navegador:

  1. especifique seleniumServerJar para iniciar el servidor independiente selenium localmente
  2. especifique seleniumAddress para conectarse a un servidor selenium en ejecución (local o remoto)
  3. establezca sauceUser y sauceKey para conectarse al servidor selenium remoto de Sauce Labs
  4. establezca browserstackUser y browserstackKey para usar servidores remotos de Selenium a través de BrowserStack
  5. utilice directConnect para conectarse a Chrome o Firefox directamente. Hay ajustes adicionales chromeDriver y firefoxPath que puede usar para definir ubicaciones binarias personalizadas de controladores de Chrome y aplicaciones de Firefox.

Las primeras 4 opciones básicamente funcionan a través de un "proxy", un servidor selenium:

El servidor actúa como proxy entre su script de prueba (escrito con el WebDriver API) y el controlador del navegador (controlado por el WebDriver protocolo). El servidor reenvía comandos desde su script a la conductor y devoluciones respuestas del controlador a su script.

La razón principal para automatizar los navegadores a través de un servidor selenium intermedio en comparación con direct webdriver connect es que el servidor selenium, si actúa como un Selenium Grid, le permite expandir/escalar sus pruebas a través de múltiples navegadores, múltiples navegadores en múltiples sistemas, vea, por ejemplo, Sauce Labs Selenium Grid. Para su información, también hay BrowserStack servicio, que, aparte de otras características, actúa como un selenio servidor con, al igual que Sauce Labs, una enorme cantidad de diferentes capacidades / configuraciones: navegadores y sistemas.

El otro caso de uso de iniciar un servidor selenium (hablando de la opción 2) y no usar directConnect es que puede tener una(s) configuración (es) específica (s) en la que desea que se ejecuten sus pruebas. Digamos que tienes una máquina Windows con IE 11 a bordo y Ubuntu con Firefox 35. En este caso, puede configurar estas máquinas como nodos de selenium que se conectarían a un selenium servidor concentrador.

Si está ejecutando sus pruebas localmente y sus navegadores de destino son Chrome o/y Firefox, use directConnect, sus pruebas se ejecutarán más rápido.

Pero, si está ejecutando sus pruebas localmente y necesita probar con IE, Safari u otros navegadores, iría con las opciones 1-4 (generalmente 1), ya que estos navegadores no pueden funcionar en modo "direct connect".

Vea también temas relacionados:

 47
Author: alecxe,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:10:29

En palabras simples si directConnect es true, entonces ejecutará las pruebas sin usar selenium server. Donde selenium server significa una configuración similar a Selenium Grid (Hub y nodo). Ejecutar pruebas a través de Selenium Server le permite ejecutar pruebas en una máquina remota o en su máquina local y proporciona una opción para distribuir la carga de ejecución entre diferentes nodos. También es posible ejecutar test en varios navegadores al mismo tiempo usando selenium server.

Mientras que directConnect false solo ejecutará test en su instalación local de FireFox y Chrome. Ejecutará la prueba en la misma máquina donde exista la base de código de prueba.

 4
Author: Priyanshu Shekhar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-06-02 16:22:30