ELECTRON
▸Write apps in JavaScript, HTML, CSS
▸Run apps on Mac, Windows, Linux
▸Built on Chromium and Node.js
▸Free and open source
▸http://electron.atom.io
Slide 5
Slide 5 text
5
main process
menu tray
dialog
window window window
renderer process
node
DOM
renderer process renderer process
node DOM
node DOM
node
ipc
Slide 6
Slide 6 text
“TYPICAL”
ELECTRON APP
TESTING
Slide 7
Slide 7 text
No content
Slide 8
Slide 8 text
PROS
▸Quick to run
▸Easy to inspect
▸Easy to debug
▸Easy to mock
Slide 9
Slide 9 text
CONS
▸Complex setup and teardown
▸Leaks happens between tests
▸Main process code goes untested
▸Hard to test launch behavior
Slide 10
Slide 10 text
10
main process
menu tray
dialog
window window window
renderer process
node
DOM
renderer process renderer process
node DOM
node DOM
node
ipc
Slide 11
Slide 11 text
WHAT IS
YOUR BIGGEST
FEAR?
Slide 12
Slide 12 text
No content
Slide 13
Slide 13 text
No content
Slide 14
Slide 14 text
YOUR APP HAS A
BUG & CAN’T
AUTO UPDATE
Slide 15
Slide 15 text
WEBDRIVER
AND
CHROMEDRIVER
Slide 16
Slide 16 text
WEBDRIVER IS AN OPEN SOURCE
TOOL FOR AUTOMATED TESTING OF
WEBAPPS ACROSS MANY
BROWSERS.
ChromeDriver Docs
WHAT IS WEBDRIVER?
Slide 17
Slide 17 text
CHROMEDRIVER IS A STANDALONE
SERVER WHICH IMPLEMENTS
WEBDRIVER'S WIRE PROTOCOL FOR
CHROMIUM.
ChromeDriver Docs
WHAT IS CHROMEDRIVER?
Slide 18
Slide 18 text
WEBDRIVERIO
▸WebDriver bindings for NodeJS
▸Promise based
▸Easily extensible
▸npm install webdriverio
▸http://webdriver.io