Configurar Behat, Mink y Selenium2 para usar Chrome

El otro día Alfonso nos dio una buena charla sobre Behat en Symfony Valencia. La charla es una introducción a Behat viendo los problemas que resuelve y cómo puede cambiar nuestra forma de trabajar. En el artículo de hoy veremos cómo configurarlo para lanzar nuestros escenarios con Chrome.

Partimos de esta configuración:

Con el servidor de Selenium lanzado:

Y ejecutamos behat:

Con esta configuración los escenarios que están marcados con el tag @javascript se lanzarán con firefox. Para que se lancen con Chrome lo primero es cambiar browser_name a chrome.

Si ahora lanzamos nuestros escenarios obtendremos el error:

Could not open connection: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see http://code.google.com/p/selenium/wiki/ChromeDriver. The latest version can be downloaded from http://chromedriver.storage.googleapis.com/index.html

Vamos a la página web que nos indica y nos bajamos la última versión del driver para nuestro sistema operativo. El fichero se llama chromedriver, ahora sólo falta añadir un parámetro a la ejecución del servidor de Selenium indicando la ruta al driver (si lo tenemos en el mismo directorio que Selenium no hace falta), de modo que ahora ejecutamos:

Y a partir de ahora ya podremos ejecutar los escenarios en Chrome.

Para acabar, cuando queremos mostrar la última respuesta con el step show last response en Mac, debemos añadir el parámetro show_cmd con el siguiente valor: