tutorial simple example descargar selenium selenium-webdriver session-timeout selenium-grid

simple - selenium grid webdriver example



¿Cómo aumentar el tiempo de espera de la sesión de grilla de Selenio? (2)

¡Finalmente lo resolví!

La solución es realmente muy fácil: los nodos deben reiniciarse después de que se haya cambiado la configuración en el concentrador.

No es realmente obvio:

Cuando cambié la configuración en el hub, lo reinicié. El nodo se volvería a registrar con el concentrador automáticamente. Luego, mirando la consola, puedo ver que los nuevos parámetros de configuración entran en vigencia. Aún más, cuando miro las configuraciones de nodos, veo los mismos parámetros cambiados en los nodos. Eso es engañoso! Porque aunque los nodos se vuelvan a registrar, pero su configuración NO ha sido modificada. Solo cambia cuando el nodo se reinicia también. Creo que este es un error de Selenium: el nodo debería volver a configurarse durante el nuevo registro.

Mientras ejecuto mi prueba, necesito tener largas demoras (~ 40 segundos).

Y veo, esa sesión de Selenium se elimina durante ese tiempo.

Ayuda: ¿Cómo puedo configurar el tiempo de espera de la sesión para aumentar?

Aquí lo que veo en menos, ese 30 segundos, después de la demora comenzó en el registro de nodo de Selenium:

INFO org.openqa.selenium.remote.server.DriverServlet - Se eliminó la sesión 7f5fffec-4882-4c4c-b091-c780c66d379d debido al tiempo de espera del cliente

Y después de 40 segundos de sueño, obtengo esta excepción en mi código:

org.openqa.selenium.remote.SessionNotFoundException

Traté de aumentar todos los tiempos de espera posibles. Aquí es cómo comienzo el eje:

java -jar selenium-server-standalone.jar -role hub -hubConfig selenium_hub.json -nodeTimeout 61 -remoteControlPollingIntervalInSeconds 180 -sessionMaxIdleTimeInSeconds 240 -newSessionMaxWaitTimeInSeconds 250 -timeout 59

Y aquí está selenium_hub.json:

{ "host": null, "port": 4444, "newSessionWaitTimeout": -1, "servlets": [], "prioritizer": null, "capabilityMatcher": "org.openqa.grid.internal.utils.DefaultCapabilityMatcher", "throwOnCapabilityNotPresent": true, "nodePolling": 5000, "cleanUpCycle": 5000, "timeout": 60000, "browserTimeout": 60000, "maxSession": 5, "jettyMaxThreads": -1 }

No hay tiempos de espera configurados en los nodos. Esto es lo que veo en mi consola de Grid:

browserTimeout : 60000 capabilityMatcher : org.openqa.grid.internal.utils.DefaultCapabilityMatcher cleanUpCycle : 5000 host : null hubConfig : /usr/local/selenium/config/selenium_hub.json jettyMaxThreads : -1 maxSession : 5 newSessionMaxWaitTimeInSeconds : 250 newSessionWaitTimeout : -1 nodePolling : 5000 nodeTimeout : 61 port : 4444 prioritizer : null remoteControlPollingIntervalInSeconds : 180 role : hub servlets : [] sessionMaxIdleTimeInSeconds : 240 throwOnCapabilityNotPresent : true timeout : 59000

Estoy usando Selenio 2.45


C# driver = new RemoteWebDriver(new Uri("http://host:4444/wd/hub"), capabilities); driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds( desired_time ));

PD: estoy usando Selenium grid 2.53 y firefox 46.0