Utilizando Selenium y WebDriver
De ChromeDriver - WebDriver for Chrome:
WebDriver es una herramienta de código abierto para automatizar el testing de aplicaciones web en varios navegadores. WebDriver provee funciones de navegación, entrada de usuario, ejecución de JavaScript, y más. ChromeDriver es un servidor standalone que implementa el protocolo de WebDriver para Chromium. Se encuentra en desarrollo por los miembros de Chromium y WebDriver.
En la página de lanzamientos de Electron encontrarás paquetes de chromedriver
.
Ajustando parámetros con WebDriverJs
WebDriverJs provee un paquete Node para realizar testing con web driver, lo usaremos como ejemplo.
1. Inicia chrome driver
Primero necesitas descargar el binario chromedriver
y ejecutarlo:
$ ./chromedriver
Starting ChromeDriver (v2.10.291558) on port 9515
Only local connections are allowed.
Recuerda el puerto 9515
, lo utilizaremos después.
2. Instala WebDriverJS
$ npm install selenium-webdriver
3. Conecta chrome driver
El uso de selenium-webdriver
junto con Electron es básicamente el mismo que el original,
excepto que necesitas especificar manualmente cómo se conectará el chrome driver
y dónde encontrará el binario de Electron:
var webdriver = require('selenium-webdriver')
var driver = new webdriver.Builder()
// El puerto "9515" es que abre chrome driver.
.usingServer('http://localhost:9515')
.withCapabilities({chromeOptions: {
// Aquí especificamos la ruta a Electron
binary: '/Path-to-Your-App.app/Contents/MacOS/Atom'}})
.forBrowser('electron')
.build()
driver.get('http://www.google.com')
driver.findElement(webdriver.By.name('q')).sendKeys('webdriver')
driver.findElement(webdriver.By.name('btnG')).click()
driver.wait(function () {
return driver.getTitle().then(function (title) {
return title === 'webdriver - Google Search'
})
}, 1000)
driver.quit()
Workflow
Para probar tu aplicación sin recompilar Electron, simplemente copia las fuentes de tu aplicación en el directorio de recursos de Electron.