Skip to content

Commit ffe1e77

Browse files
committed
Add a test to detect if using an out-of-date ChromeDriver
1 parent f0f35a4 commit ffe1e77

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

examples/test_chromedriver.py

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
"""
2+
This test is only for Chrome!
3+
(Verify that your chromedriver is compatible with your version of Chrome.)
4+
"""
5+
import colorama
6+
from seleniumbase import BaseCase
7+
8+
9+
class ChromeTestClass(BaseCase):
10+
11+
def test_chromedriver_matches_chrome(self):
12+
if self.browser != "chrome":
13+
print("\n This test is only for Chrome!")
14+
print(" (Run with: '--browser=chrome')")
15+
self.skip("This test is only for Chrome!")
16+
driver_capabilities = self.driver.__dict__["capabilities"]
17+
if "version" in driver_capabilities:
18+
chrome_version = driver_capabilities["version"]
19+
else:
20+
chrome_version = driver_capabilities["browserVersion"]
21+
major_chrome_version = chrome_version.split('.')[0]
22+
chrome_dict = self.driver.__dict__["capabilities"]["chrome"]
23+
chromedriver_version = chrome_dict["chromedriverVersion"]
24+
chromedriver_version = chromedriver_version.split(' ')[0]
25+
major_chromedriver_version = chromedriver_version.split('.')[0]
26+
c1 = colorama.Fore.BLUE + colorama.Back.LIGHTCYAN_EX
27+
c2 = colorama.Fore.BLUE + colorama.Back.LIGHTGREEN_EX
28+
c3 = colorama.Fore.BLUE + colorama.Back.LIGHTYELLOW_EX
29+
c4 = colorama.Fore.RED + colorama.Back.LIGHTYELLOW_EX
30+
c5 = colorama.Fore.RED + colorama.Back.LIGHTGREEN_EX
31+
cr = colorama.Style.RESET_ALL
32+
pr_chromedriver_version = c3 + chromedriver_version + cr
33+
pr_chrome_version = c2 + chrome_version + cr
34+
message = (
35+
"\n"
36+
"* Your version of chromedriver is: %s\n"
37+
"*\n* And your version of Chrome is: %s"
38+
"" % (pr_chromedriver_version, pr_chrome_version))
39+
print(message)
40+
if major_chromedriver_version < major_chrome_version:
41+
install_sb = (
42+
"seleniumbase install chromedriver %s" % major_chrome_version)
43+
pr_install_sb = c1 + install_sb + cr
44+
up_msg = "You may want to upgrade your version of chromedriver:"
45+
up_msg = c4 + up_msg + cr
46+
message = ("*\n* %s\n*\n* >>> %s" % (up_msg, pr_install_sb))
47+
print(message)
48+
elif major_chromedriver_version > major_chrome_version:
49+
up_msg = "You may want to upgrade your version of Chrome:"
50+
up_msg = c5 + up_msg + cr
51+
up_url = c1 + "chrome://settings/help" + cr
52+
message = ("*\n* %s\n*\n* See: %s" % (up_msg, up_url))
53+
print(message)
54+
else:
55+
up_msg = (
56+
"Success! Your chromedriver is compatible with your Chrome!")
57+
up_msg = c1 + up_msg + cr
58+
message = ("*\n* %s\n" % up_msg)
59+
print(message)

0 commit comments

Comments
 (0)