Skip to content

Commit 86d6b59

Browse files
authored
Merge pull request #934 from webdriverio/fix/find_version_exact_version
fixed (find-process version, forced default port 9515 for chrome and edge driver), added exact match feature
2 parents eefd612 + 7648915 commit 86d6b59

File tree

5 files changed

+17
-8
lines changed

5 files changed

+17
-8
lines changed

.github/dependabot.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ updates:
2525
- dependency-name: "execa"
2626
update-types: ["version-update:semver-major"]
2727
- dependency-name: "find-process"
28-
update-types: ["version-update:semver-major"]
28+
update-types: ["version-update:semver-patch"]
2929
- dependency-name: "fkill"
3030
update-types: ["version-update:semver-major"]
3131
- dependency-name: "prettier"

lib/compute-download-urls.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -288,6 +288,12 @@ async function getLastChromedriverVersionFromMajor(version) {
288288
},
289289
},
290290
}).json();
291+
292+
const exactMatch = response.versions.find((f) => f.version === version && 'chromedriver' in f.downloads);
293+
// If exact match is found, return it
294+
if (exactMatch) {
295+
return exactMatch;
296+
}
291297
const versionsWithMajor = response.versions.filter(
292298
(f) =>
293299
validateMajorVersionPrefix(f.version) === validateMajorVersionPrefix(version) && 'chromedriver' in f.downloads

lib/start.js

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ const { startDriver } = require('./driver-starter.js');
2424
* fallbackVersion?: string,
2525
* channel?: string,
2626
* arch: NodeJS.Architecture,
27-
* onlyDriverArgs: unknown[],
27+
* onlyDriverArgs: string[],
2828
* baseURL: string
2929
* }>>} Drivers
3030
*/
@@ -224,10 +224,13 @@ async function start(_opts) {
224224
debug('Spawning Selenium Server process', opts.javaPath, args);
225225

226226
if (opts.onlyDriver && opts.drivers[opts.onlyDriver]) {
227-
const chromeDriverProcess = await startDriver(
228-
fsPaths[opts.onlyDriver].installPath,
229-
opts.drivers[opts.onlyDriver].onlyDriverArgs
230-
);
227+
const chromeDriverProcess = await startDriver(fsPaths[opts.onlyDriver].installPath, [
228+
...opts.drivers[opts.onlyDriver].onlyDriverArgs,
229+
...(!opts.drivers[opts.onlyDriver].onlyDriverArgs.some((item) => item.includes('--port=')) &&
230+
opts.onlyDriver !== 'firefox'
231+
? [`--port=9515`]
232+
: []),
233+
]);
231234

232235
return chromeDriverProcess;
233236
// eslint-disable-next-line no-else-return

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
"cross-spawn": "^7.0.3",
4848
"debug": "^4.3.1",
4949
"execa": "^5.1.1",
50-
"find-process": "^1.4.7",
50+
"find-process": "1.4.7",
5151
"fkill": "^7.2.1",
5252
"got": "^11.8.6",
5353
"http-proxy-agent": "^7.0.2",

0 commit comments

Comments
 (0)