Skip to content

Commit a6e4db9

Browse files
authored
feat: Allow port option for launching chromium browser (#3)
1 parent 07a4cd8 commit a6e4db9

File tree

3 files changed

+28
-0
lines changed

3 files changed

+28
-0
lines changed

src/cmd/run.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ export default async function run(
5151
chromiumBinary,
5252
chromiumPref,
5353
chromiumProfile,
54+
chromiumPort,
5455
},
5556
{
5657
buildExtension = defaultBuildExtension,
@@ -195,6 +196,7 @@ export default async function run(
195196
chromiumBinary,
196197
chromiumProfile,
197198
customChromiumPrefs,
199+
chromiumPort,
198200
noReloadManagerExtension,
199201
};
200202

src/extension-runners/chromium.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,12 @@ export class ChromiumExtensionRunner {
209209
chromeFlags.push(...startingUrls);
210210
}
211211

212+
let port;
213+
if (this.params.chromiumPort && !isNaN(this.params.chromiumPort)) {
214+
port = this.params.chromiumPort;
215+
log.debug(`(port: ${port})`);
216+
}
217+
212218
this.chromiumInstance = await this.chromiumLaunch({
213219
enableExtensions: true,
214220
chromePath: chromiumBinary,
@@ -218,6 +224,7 @@ export class ChromiumExtensionRunner {
218224
// Ignore default flags to keep the extension enabled.
219225
ignoreDefaultFlags: true,
220226
prefs: this.getPrefs(),
227+
port,
221228
});
222229

223230
this.chromiumInstance.process.once('close', () => {

tests/unit/test-extension-runners/test.chromium.js

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -668,6 +668,25 @@ describe('util/extension-runners/chromium', async () => {
668668
await runnerInstance.exit();
669669
});
670670

671+
it('does pass port to chrome', async () => {
672+
const port = 31269;
673+
const { params } = prepareExtensionRunnerParams({
674+
params: {
675+
chromiumPort: port,
676+
},
677+
});
678+
679+
const runnerInstance = new ChromiumExtensionRunner(params);
680+
await runnerInstance.run();
681+
682+
sinon.assert.calledOnce(params.chromiumLaunch);
683+
sinon.assert.calledWithMatch(params.chromiumLaunch, {
684+
port,
685+
});
686+
687+
await runnerInstance.exit();
688+
});
689+
671690
describe('reloadAllExtensions', () => {
672691
let runnerInstance;
673692
let wsClient;

0 commit comments

Comments
 (0)