Skip to content

Commit

Permalink
when if connectExisting passed to driver then args shouldn't include …
Browse files Browse the repository at this point in the history
…websocketPort (#509)

* fix: add condition to websocketPort parameter

* fix: throw an error if both parameters
  • Loading branch information
b68h4 authored Aug 16, 2024
1 parent 8cc5bb7 commit a4acdea
Showing 1 changed file with 14 additions and 5 deletions.
19 changes: 14 additions & 5 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,20 @@ export async function start (params: GeckodriverParameters) {

startArgs.host = startArgs.host || DEFAULT_HOSTNAME

// By default, Geckodriver uses port 9222
// User might pass a port for custom runs but they should modify them for each worker
// For remaining use cases, to enable parallel instances we need to set the port to 0 (random)
// Otherwise all instances try to connect to the default port and fail
startArgs.websocketPort = startArgs.websocketPort ?? 0
// By default, Geckodriver uses port 9222.
// Users may specify a custom port for individual runs, but they need to modify it for each worker.
// For other cases, to enable parallel instances, we need to set the port to 0 (random).
// Otherwise, all instances will attempt to connect to the default port and fail.
// If both --connect-existing and --websocket-port are used together, an error is thrown.
// However, if --connect-existing is not used and --websocket-port is not specified, the websocketPort is set to 0.
if (startArgs.connectExisting && startArgs.websocketPort) {
throw new Error(
"Cannot use --connect-existing and --websocket-port together"
);
} else if (!startArgs.connectExisting && !startArgs.websocketPort) {
startArgs.websocketPort = 0;
}


const args = parseParams(startArgs)
log.info(`Starting Geckodriver at ${geckoDriverPath} with params: ${args.join(' ')}`)
Expand Down

0 comments on commit a4acdea

Please sign in to comment.