Skip to content

Commit 08405ab

Browse files
committed
Added Headless channels
1 parent 6facd7c commit 08405ab

File tree

8 files changed

+133
-39
lines changed

8 files changed

+133
-39
lines changed

package-lock.json

Lines changed: 23 additions & 23 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@chiragrupani/karma-chromium-edge-launcher",
3-
"version": "1.1.1",
3+
"version": "1.2.0",
44
"description": "A Karma plugin. Launcher for different Chromium Edge channels - Dev, Canary, Beta and Stable",
55
"main": "dist/index.js",
66
"types": "dist/index.d.ts",
@@ -22,23 +22,24 @@
2222
"karma-launcher",
2323
"Chromium Edge Dev",
2424
"Chromium Edge Canary",
25-
"Chromium Edge Beta"
25+
"Chromium Edge Beta",
26+
"Chromium Edge Stable"
2627
],
2728
"author": "Chirag",
2829
"dependencies": {
2930
"which": "^2.0.2"
3031
},
3132
"license": "MIT",
3233
"devDependencies": {
33-
"@types/chai": "^4.2.7",
34-
"@types/mocha": "^5.2.7",
35-
"@types/node": "^13.5.0",
36-
"@types/sinon": "^7.5.1",
34+
"@types/chai": "^4.2.11",
35+
"@types/mocha": "^7.0.2",
36+
"@types/node": "^13.9.1",
37+
"@types/sinon": "^7.5.2",
3738
"chai": "^4.2.0",
38-
"mocha": "^7.0.0",
39+
"mocha": "^7.1.0",
3940
"nyc": "^15.0.0",
4041
"ts-node": "^8.6.2",
41-
"typescript": "^3.7.5"
42+
"typescript": "^3.8.3"
4243
},
4344
"nyc": {
4445
"reporter": [

src/BaseBrowser.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,10 @@ export default class BaseBrowser {
4242

4343
_getHeadlessOptions(url: string): string[] {
4444
var mergedArgs = this._getOptions(url).concat([
45-
'--headless'
46-
//'--disable-gpu'
45+
// Headless not working on NodeJS
46+
// '--headless',
47+
'--no-proxy-server'
48+
// '--disable-gpu'
4749
]);
4850

4951
var args: string[];
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import BaseBrowser from '../BaseBrowser';
2+
import Utilities from '../Utilities';
3+
4+
const EdgeBetaHeadlessBrowser = function(baseBrowserDecorator, args) {
5+
baseBrowserDecorator(this);
6+
var flags = args.flags || [];
7+
var userDataDir = args.edgeDataDir || this._tempDir;
8+
var browser = new BaseBrowser(flags, userDataDir);
9+
this._getOptions = browser._getHeadlessOptions;
10+
};
11+
12+
EdgeBetaHeadlessBrowser.$inject = ['baseBrowserDecorator', 'args'];
13+
14+
EdgeBetaHeadlessBrowser.prototype = {
15+
name: 'Edge Beta Headless',
16+
17+
DEFAULT_CMD: {
18+
linux: null,
19+
darwin: Utilities.GetEdgeDarwin(
20+
'/Applications/Microsoft Edge Beta.app/Contents/MacOS/Microsoft Edge Beta'
21+
),
22+
win32: Utilities.GetEdgeExe('Edge Beta')
23+
},
24+
25+
ENV_CMD: 'EDGE_Beta_BIN'
26+
};
27+
28+
export default EdgeBetaHeadlessBrowser;

src/EdgeCanaryHeadless.ts renamed to src/headlessChannels/EdgeCanaryHeadless.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import BaseBrowser from './BaseBrowser';
2-
import Utilities from './Utilities';
1+
import BaseBrowser from '../BaseBrowser';
2+
import Utilities from '../Utilities';
33

44
const EdgeCanaryHeadlessBrowser = function(baseBrowserDecorator, args) {
55
baseBrowserDecorator(this);
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import BaseBrowser from '../BaseBrowser';
2+
import Utilities from '../Utilities';
3+
4+
const EdgeDevHeadlessBrowser = function(baseBrowserDecorator, args) {
5+
baseBrowserDecorator(this);
6+
var flags = args.flags || [];
7+
var userDataDir = args.edgeDataDir || this._tempDir;
8+
var browser = new BaseBrowser(flags, userDataDir);
9+
this._getOptions = browser._getHeadlessOptions;
10+
};
11+
12+
EdgeDevHeadlessBrowser.$inject = ['baseBrowserDecorator', 'args'];
13+
14+
EdgeDevHeadlessBrowser.prototype = {
15+
name: 'Edge Dev Headless',
16+
17+
DEFAULT_CMD: {
18+
linux: null,
19+
darwin: Utilities.GetEdgeDarwin(
20+
'/Applications/Microsoft Edge Dev.app/Contents/MacOS/Microsoft Edge Dev'
21+
),
22+
win32: Utilities.GetEdgeExe('Edge Dev')
23+
},
24+
25+
ENV_CMD: 'EDGE_DEV_BIN'
26+
};
27+
28+
export default EdgeDevHeadlessBrowser;
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import BaseBrowser from '../BaseBrowser';
2+
import Utilities from '../Utilities';
3+
4+
const EdgeStableHeadlessBrowser = function(baseBrowserDecorator, args) {
5+
baseBrowserDecorator(this);
6+
var flags = args.flags || [];
7+
var userDataDir = args.edgeDataDir || this._tempDir;
8+
var browser = new BaseBrowser(flags, userDataDir);
9+
this._getOptions = browser._getHeadlessOptions;
10+
};
11+
12+
EdgeStableHeadlessBrowser.$inject = ['baseBrowserDecorator', 'args'];
13+
14+
EdgeStableHeadlessBrowser.prototype = {
15+
name: 'Edge Headless',
16+
17+
DEFAULT_CMD: {
18+
linux: null,
19+
darwin: Utilities.GetEdgeDarwin(
20+
'/Applications/Microsoft Edge.app/Contents/MacOS/Microsoft Edge'
21+
),
22+
win32: Utilities.GetEdgeExe('Edge')
23+
},
24+
25+
ENV_CMD: 'EDGE_BIN'
26+
};
27+
28+
export default EdgeStableHeadlessBrowser;

src/index.ts

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,20 @@ import EdgeBetaBrowser from './channels/EdgeBeta';
22
import EdgeCanaryBrowser from './channels/EdgeCanary';
33
import EdgeDevBrowser from './channels/EdgeDev';
44
import EdgeBrowser from './channels/EdgeStable';
5+
import EdgeBetaHeadlessBrowser from './headlessChannels/EdgeBetaHeadless';
6+
import EdgeCanaryHeadlessBrowser from './headlessChannels/EdgeCanaryHeadless';
7+
import EdgeDevHeadlessBrowser from './headlessChannels/EdgeDevHeadless';
8+
import EdgeHeadlessBrowser from './headlessChannels/EdgeStableHeadless';
59

610
module.exports = {
711
'launcher:EdgeDev': ['type', EdgeDevBrowser],
812
'launcher:EdgeCanary': ['type', EdgeCanaryBrowser],
913
'launcher:EdgeBeta': ['type', EdgeBetaBrowser],
10-
'launcher:Edge': ['type', EdgeBrowser]
11-
// Headless - not supported yet
12-
//'launcher:EdgeDevHeadless': ['type', EdgeDevHeadlessBrowser],
13-
//'launcher:EdgeCanaryHeadless': ['type', EdgeCanaryHeadlessBrowser]
14+
'launcher:Edge': ['type', EdgeBrowser],
15+
16+
// Headless
17+
'launcher:EdgeHeadless': ['type', EdgeHeadlessBrowser],
18+
'launcher:EdgeDevHeadless': ['type', EdgeDevHeadlessBrowser],
19+
'launcher:EdgeBetaHeadless': ['type', EdgeBetaHeadlessBrowser],
20+
'launcher:EdgeCanaryHeadless': ['type', EdgeCanaryHeadlessBrowser]
1421
};

0 commit comments

Comments
 (0)