Skip to content

ChromeDriver Explicit version support#351

Closed
breed052 wants to merge 2 commits intorosolko:masterfrom
breed052:Chrome-Explicit-Version-URL-Build-Fix
Closed

ChromeDriver Explicit version support#351
breed052 wants to merge 2 commits intorosolko:masterfrom
breed052:Chrome-Explicit-Version-URL-Build-Fix

Conversation

@breed052
Copy link

@breed052 breed052 commented Mar 3, 2026

  • Add support for setting specific version of chromedriver, including unit tests.

Existing code path would GetUrl FromChromeForTestingApi because _chromeVersionInfo was null at the time of URL construction. This updated version allows for a place in ChromeConfig to select the correct Chrome Version Info based on the incoming explicit version.

@rosolko
Copy link
Owner

rosolko commented Mar 5, 2026

@breed052 Thanks for request. I'm not really sure about GetMatchingExplicitRequest method in general because of partially logic duplication in chrome config. Right now I'm thinking about dropping ChromeStorage using and focus only on ChromeForTestingApi. The safe solution is move work logic with chrome < 113 version to separate config, this case external library API won't change. Something like LegacyChromeConfig like it was make for LegacyEdgeConfig some time ago.

@breed052
Copy link
Author

breed052 commented Mar 5, 2026

@breed052 Thanks for request. I'm not really sure about GetMatchingExplicitRequest method in general because of partially logic duplication in chrome config. Right now I'm thinking about dropping ChromeStorage using and focus only on ChromeForTestingApi. The safe solution is move work logic with chrome < 113 version to separate config, this case external library API won't change. Something like LegacyChromeConfig like it was make for LegacyEdgeConfig some time ago.

I understand the desire to split the config to a Legacy and Chrome config to simplify the logic, but I think the additional method in the interface will still be needed:
version = GetVersionToDownload(config, version);
var url = architecture.Equals(Architecture.X32) ? config.GetUrl32() : config.GetUrl64();
ChromeConfig and ChromeLegacyConfig rely on _chromeVersion or _chromeVersionInfo to build the Url either in GetVersionFromChromeForTestingApi OR in GetUrlFromChromeStorage for OSX, but in GetVersionToDownload, if the version specified is explicit, it is not set in the ChromeConfig object, so OSX LegacyChrome would fail on specific version without these changes.

Would you be ok with LegacyChromeConfig and ChromeConfig that still have the GetMatchingExplicitRequest method?

@rosolko
Copy link
Owner

rosolko commented Mar 6, 2026

rely on _chromeVersion or _chromeVersionInfo

In scope of #352 I get rid of using of this variables

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants