Skip to content

Commit f13cdab

Browse files
author
John Doherty
authored
Merge pull request #37 from Temi89/master
Electron and selenium Webdriver setup
2 parents 9a08585 + 6497b3e commit f13cdab

File tree

4 files changed

+37
-2
lines changed

4 files changed

+37
-2
lines changed

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
.vscode
2-
node_modules
2+
node_modules
3+
4+
. idea/

package.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,11 @@
4444
"cucumber": "1.3.3",
4545
"cucumber-html-reporter": "2.0.3",
4646
"cucumber-junit": "1.6.0",
47+
"electron": "^1.7.6",
48+
"electron-chromedriver": "^1.7.1",
49+
"electron-packager": "^9.1.0",
50+
"electron-prebuilt": "^1.4.13",
51+
"phantomjs-prebuilt": "2.1.12",
4752
"fs-plus": "2.9.1",
4853
"geckodriver": "1.1.2",
4954
"merge": "1.2.0",

runtime/electronDriver.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
'use strict';
2+
3+
var selenium = require('selenium-webdriver');
4+
var path = require('path');
5+
var myapp = path.resolve(process.cwd(), 'MyApp.app/Contents/MacOS/MyApp');
6+
/**
7+
* Creates a Selenium WebDriver using Firefox as the browser
8+
* @returns {ThenableWebDriver} selenium web driver
9+
*/
10+
module.exports = function () {
11+
12+
var driver = new global.selenium.Builder()
13+
.withCapabilities({
14+
chromeOptions: {
15+
// Here is the path to your Electron binary.
16+
binary: myapp
17+
}
18+
})
19+
.forBrowser('electron')
20+
.build()
21+
22+
return driver;
23+
};

runtime/world.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ var cucumberJunit = require('cucumber-junit');
1919
// drivers
2020
var FireFoxDriver = require('./firefoxDriver.js');
2121
var PhantomJSDriver = require('./phantomDriver.js');
22+
var electronDriver = require('./electronDriver.js');
2223
var ChromeDriver = require('./chromeDriver');
2324

2425
/**
@@ -39,6 +40,10 @@ function getDriverInstance() {
3940
driver = new PhantomJSDriver();
4041
} break;
4142

43+
case 'electron': {
44+
driver = new electronDriver();
45+
} break;
46+
4247
case 'chrome': {
4348
driver = new ChromeDriver();
4449
} break;
@@ -201,4 +206,4 @@ module.exports = function () {
201206
return driver.quit();
202207
});
203208
});
204-
};
209+
};

0 commit comments

Comments
 (0)