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?
2 answers
En primer lugar, actualmente, usted tiene 5 diferentes opciones integradas / formas de conectarse a los controladores del navegador:
- especifique
seleniumServerJar
para iniciar el servidor independiente selenium localmente - especifique
seleniumAddress
para conectarse a un servidor selenium en ejecución (local o remoto) - establezca
sauceUser
ysauceKey
para conectarse al servidor selenium remoto de Sauce Labs - establezca
browserstackUser
ybrowserstackKey
para usar servidores remotos de Selenium a través de BrowserStack - utilice
directConnect
para conectarse a Chrome o Firefox directamente. Hay ajustes adicionaleschromeDriver
yfirefoxPath
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:
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.
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