|
| 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