Skip to content

Commit 26ae9f4

Browse files
rogeriopvldignifiedquire
authored andcommitted
feat: allow overriding of the default debug port
This allows the --remote-debugging-port flag to be overridden with a custom port when using chrome headless. Fixes #187
1 parent 2042822 commit 26ae9f4

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

index.js

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,15 @@ ChromeBrowser.prototype = {
165165
ChromeBrowser.$inject = ['baseBrowserDecorator', 'args']
166166

167167
function headlessGetOptions (url, args, parent) {
168-
return parent.call(this, url, args).concat(['--headless', '--disable-gpu', '--remote-debugging-port=9222'])
168+
var mergedArgs = parent.call(this, url, args).concat(['--headless', '--disable-gpu'])
169+
170+
var isRemoteDebuggingFlag = function (flag) {
171+
return flag.indexOf('--remote-debugging-port=') !== -1
172+
}
173+
174+
return mergedArgs.some(isRemoteDebuggingFlag)
175+
? mergedArgs
176+
: mergedArgs.concat(['--remote-debugging-port=9222'])
169177
}
170178

171179
var ChromeHeadlessBrowser = function (baseBrowserDecorator, args) {

test/jsflags.spec.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,4 +69,19 @@ describe('headlessGetOptions', function () {
6969
'--remote-debugging-port=9222'
7070
])
7171
})
72+
73+
it('should not overwrite custom remote-debugging-port', function () {
74+
var parent = sinon.stub().returns(
75+
['-incognito', '--remote-debugging-port=9333']
76+
)
77+
var context = {}
78+
var url = 'http://localhost:9876'
79+
var args = {}
80+
expect(headlessGetOptions.call(context, url, args, parent)).to.be.eql([
81+
'-incognito',
82+
'--remote-debugging-port=9333',
83+
'--headless',
84+
'--disable-gpu'
85+
])
86+
})
7287
})

0 commit comments

Comments
 (0)