Skip to content

Commit 322e160

Browse files
authored
Fix the Chrome Download for Versions < 113 (#583)
* trim chrome version and add a test * correct the test --------- Co-authored-by: Mark Jones <[email protected]>
1 parent 0f2d82d commit 322e160

File tree

3 files changed

+11
-1
lines changed

3 files changed

+11
-1
lines changed

Pipfile

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ pytest = "*"
1313
bump2version = "*"
1414
pytest-xdist = "*"
1515
pybrowsers = "*"
16+
mock = "*"
1617

1718
[packages]
1819
requests = "*"

tests/test_chrome_driver.py

+8
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,12 @@
44
import pytest
55
import browsers
66
from selenium import webdriver
7+
from mock import patch
78

89
from webdriver_manager.chrome import ChromeDriverManager
910
from webdriver_manager.core.constants import ROOT_FOLDER_NAME
1011
from selenium.webdriver.chrome.service import Service
12+
from webdriver_manager.core.driver import Driver
1113

1214
from webdriver_manager.core.driver_cache import DriverCacheManager
1315
from webdriver_manager.core.os_manager import OperationSystemManager
@@ -26,6 +28,12 @@ def test_chrome_manager_with_specific_version(delete_drivers_dir):
2628
assert os.path.exists(driver_binary)
2729

2830

31+
@patch.object(Driver, 'get_browser_version_from_os', return_value="112.0.5615.165")
32+
def test_chrome_manager_with_old_detected_version(mock_version, delete_drivers_dir):
33+
driver_binary = ChromeDriverManager().install()
34+
assert os.path.exists(driver_binary)
35+
36+
2937
def test_106_0_5249_61_chrome_version(delete_drivers_dir):
3038
driver_binary = ChromeDriverManager("106.0.5249.61").install()
3139
assert os.path.exists(driver_binary)

webdriver_manager/drivers/chrome.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,8 @@ def get_latest_release_version(self):
5555
log(f"Get LATEST {self._name} version for {self._browser_type}")
5656
if determined_browser_version is not None and version.parse(determined_browser_version) >= version.parse("113"):
5757
return determined_browser_version
58-
58+
# Remove the build version (the last segment) from determined_browser_version for version < 113
59+
determined_browser_version = ".".join(determined_browser_version.split(".")[:3])
5960
latest_release_url = (
6061
self._latest_release_url
6162
if (determined_browser_version is None)

0 commit comments

Comments
 (0)