martes, 16 de agosto de 2016

Usar selenium con RemoteWebDriver y Jenkins

Usar selenium en remoto

  • Utilizaremos un selenium-grid instalado en jenkins https://wiki.jenkins-ci.org/display/JENKINS/Selenium+Plugin. A este grid se conectarán nodos, que son los servidores donde se encuentran realmente los navegadores web. La forma de conectar un nodo es con el siguiente comando:
     
    java -jar selenium-server-standalone-3.0.0-beta2.jar -role node  -hub http://[jenkins.instalado]:4444/wd/hub
    

    Al ejecutar este comando se verá en la consola de selenium de jenkins el nodo conectado y los navegadores disponibles "Registered Remote Controls".
    Una vez configurado el servidor selenium y los nodos podemos utilizarlo cambiando el Webdriver que usamos en los tests por lo siguiente:
         final WebDriver driver = new RemoteWebDriver(new URL("http://[jenkins.instalado]:4444/wd/hub"), DesiredCapabilities.firefox());

Los problemas que he tenido han sido de acceso a los puertos. Las máquinas donde estén instalados los nodos tienen que tener los puertos 4444 y 5555 abiertos. En mi caso particular ambos puertos estaban capados por el firewall de windows.

No hay comentarios: