Skip to content

Commit 9b3483d

Browse files
author
Rohan Jain
committed
Add a configuration generator
Command: browserstack-runner init [preset] Right now only one preset is present: default
1 parent 703e8f4 commit 9b3483d

File tree

6 files changed

+75
-50
lines changed

6 files changed

+75
-50
lines changed

README.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,13 @@ For development,
1616
## Configuration
1717
To run browser tests on BrowserStack infrastructure, you need to
1818
create a `browserstack.json` file in project's root directory (the
19-
directory from which tests are run).
19+
directory from which tests are run), by running this command:
20+
21+
browserstack-runner init [preset]
22+
23+
If nothing is provided as `preset` **default** is used.
24+
25+
> Currently only one preset is present: **default**
2026
2127
### Parameters
2228

bin/cli.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#! /usr/bin/env node
2+
3+
var executable = process.argv[2] || 'runner';
4+
5+
try {
6+
require('./' + executable + '.js');
7+
} catch (e) {
8+
console.log(e);
9+
console.log('Invalid command.');
10+
}

bin/init.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#! /usr/bin/env node
2+
3+
var fs = require('fs');
4+
var preset = process.argv[3] || 'default';
5+
var browsers = require('../presets/' + preset + '.json');
6+
7+
var config = {
8+
username: 'BROWSERSTACK_USERNAME',
9+
key: 'BROWSERSTACK_KEY',
10+
test_path: 'path/to/test/runner',
11+
browsers: browsers
12+
}
13+
14+
var configString = JSON.stringify(config, null, 4);
15+
16+
fs.writeFile('browserstack.json', configString, function (err, written, buffer) {
17+
console.log('Generated `browserstack.json` using preset "%s" having %d browsers.',
18+
preset, browsers.length);
19+
});

browserstack.sample.json

Lines changed: 0 additions & 47 deletions
This file was deleted.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "browserstack-runner",
33
"description": "A command line interface to run browser tests over BrowserStack",
4-
"version": "0.0.5",
4+
"version": "0.0.6",
55
"homepage": "https://github.com/browserstack/browserstack-runner",
66
"repository": {
77
"type": "git",
@@ -11,6 +11,6 @@
1111
"browserstack": "git://github.com/browserstack/node-browserstack.git"
1212
},
1313
"bin": {
14-
"browserstack-runner": "bin/runner.js"
14+
"browserstack-runner": "bin/cli.js"
1515
}
1616
}

presets/default.json

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
[{
2+
"browser": "firefox",
3+
"browser_version": "latest",
4+
"os": "OS X",
5+
"os_version": "Snow Leopard",
6+
"device": null
7+
},{
8+
"browser": "chrome",
9+
"browser_version": "latest",
10+
"os": "OS X",
11+
"os_version": "Snow Leopard",
12+
"device": null
13+
}, {
14+
"browser": "firefox",
15+
"browser_version": "latest",
16+
"os": "Windows",
17+
"os_version": "7",
18+
"device": null
19+
}, {
20+
"browser": "chrome",
21+
"browser_version": "latest",
22+
"os": "Windows",
23+
"os_version": "7",
24+
"device": null
25+
}, {
26+
"browser": "ie",
27+
"browser_version": "latest",
28+
"os": "Windows",
29+
"os_version": "7",
30+
"device": null
31+
}, {
32+
"browser": "ie",
33+
"browser_version": "latest",
34+
"os": "Windows",
35+
"os_version": "8",
36+
"device": null
37+
}]

0 commit comments

Comments
 (0)