[x] Fix CI is failling multiple tests with the same issue FileNotFoundError: [Errno 2] No such file or directory: 'chrome'.
[x] Fix Selenium's deprecation warning.
[x] Update CI to add Python 3.10 support.
Full CI output is below:
Run xvfb-run --auto-servernum coverage run --source=selex -m unittest discover
......../opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/chrome/webdriver.py:70: DeprecationWarning: executable_path has been deprecated, please pass in a Service object
super(WebDriver, self).__init__(DesiredCapabilities.CHROME['browserName'], "goog",
/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/chrome/webdriver.py:70: DeprecationWarning: firefox_binary has been deprecated, please pass in a Service object
super(WebDriver, self).__init__(DesiredCapabilities.CHROME['browserName'], "goog",
/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/chrome/webdriver.py:70: DeprecationWarning: firefox_profile has been deprecated, please pass in an Options object
super(WebDriver, self).__init__(DesiredCapabilities.CHROME['browserName'], "goog",
/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/chrome/webdriver.py:70: DeprecationWarning: service_log_path has been deprecated, please pass in a Service object
super(WebDriver, self).__init__(DesiredCapabilities.CHROME['browserName'], "goog",
/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/chrome/webdriver.py:70: DeprecationWarning: service_args has been deprecated, please pass in a Service object
super(WebDriver, self).__init__(DesiredCapabilities.CHROME['browserName'], "goog",
/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/firefox/webdriver.py:158: DeprecationWarning: firefox_profile has been deprecated, please use an Options object
firefox_profile = FirefoxProfile(firefox_profile)
E/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/unittest/suite.py:176: ResourceWarning: unclosed file <_io.BufferedWriter name='/dev/null'>
self._createClassOrModuleLevelException(result, e,
ResourceWarning: Enable tracemalloc to get the object allocation traceback
EEEE/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/unittest/case.py:614: ResourceWarning: unclosed file <_io.BufferedWriter name='/dev/null'>
outcome.errors.clear()
ResourceWarning: Enable tracemalloc to get the object allocation traceback
EEE.................................s.....
======================================================================
ERROR: setUpClass (tests.unit.test_find_ancestor.ElemFindAncestorTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/runner/work/selenium-extended/selenium-extended/tests/unit/test_find_ancestor.py", line 27, in setUpClass
super().setUpClass()
File "/home/runner/work/selenium-extended/selenium-extended/tests/setup.py", line 40, in setUpClass
cls.driver, cls.elem = test_setup()
File "/home/runner/work/selenium-extended/selenium-extended/tests/setup.py", line 30, in test_setup
driver = Driver("Chrome")
File "/home/runner/work/selenium-extended/selenium-extended/selex/driver.py", line 37, in __init__
getattr(webdriver, browser).__init__(self, **kwargs)
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/chrome/webdriver.py", line 70, in __init__
super(WebDriver, self).__init__(DesiredCapabilities.CHROME['browserName'], "goog",
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/firefox/webdriver.py", line 158, in __init__
firefox_profile = FirefoxProfile(firefox_profile)
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/firefox/firefox_profile.py", line 74, in __init__
shutil.copytree(self.profile_dir, newprof,
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/shutil.py", line 564, in copytree
with os.scandir(src) as itr:
FileNotFoundError: [Errno 2] No such file or directory: 'chrome'
======================================================================
ERROR: setUpClass (tests.unit.test_find_elements_by_text.DriverFindElementsByTextTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/runner/work/selenium-extended/selenium-extended/tests/unit/test_find_elements_by_text.py", line 57, in setUpClass
super().setUpClass()
File "/home/runner/work/selenium-extended/selenium-extended/tests/setup.py", line 40, in setUpClass
cls.driver, cls.elem = test_setup()
File "/home/runner/work/selenium-extended/selenium-extended/tests/setup.py", line 30, in test_setup
driver = Driver("Chrome")
File "/home/runner/work/selenium-extended/selenium-extended/selex/driver.py", line 37, in __init__
getattr(webdriver, browser).__init__(self, **kwargs)
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/chrome/webdriver.py", line 70, in __init__
super(WebDriver, self).__init__(DesiredCapabilities.CHROME['browserName'], "goog",
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/firefox/webdriver.py", line 158, in __init__
firefox_profile = FirefoxProfile(firefox_profile)
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/firefox/firefox_profile.py", line 74, in __init__
shutil.copytree(self.profile_dir, newprof,
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/shutil.py", line 564, in copytree
with os.scandir(src) as itr:
FileNotFoundError: [Errno 2] No such file or directory: 'chrome'
======================================================================
ERROR: setUpClass (tests.unit.test_find_elements_by_text.ElemFindElementsByTextTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/runner/work/selenium-extended/selenium-extended/tests/unit/test_find_elements_by_text.py", line 89, in setUpClass
super().setUpClass()
File "/home/runner/work/selenium-extended/selenium-extended/tests/setup.py", line 40, in setUpClass
cls.driver, cls.elem = test_setup()
File "/home/runner/work/selenium-extended/selenium-extended/tests/setup.py", line 30, in test_setup
driver = Driver("Chrome")
File "/home/runner/work/selenium-extended/selenium-extended/selex/driver.py", line 37, in __init__
getattr(webdriver, browser).__init__(self, **kwargs)
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/chrome/webdriver.py", line 70, in __init__
super(WebDriver, self).__init__(DesiredCapabilities.CHROME['browserName'], "goog",
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/firefox/webdriver.py", line 158, in __init__
firefox_profile = FirefoxProfile(firefox_profile)
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/firefox/firefox_profile.py", line 74, in __init__
shutil.copytree(self.profile_dir, newprof,
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/shutil.py", line 564, in copytree
with os.scandir(src) as itr:
FileNotFoundError: [Errno 2] No such file or directory: 'chrome'
======================================================================
ERROR: setUpClass (tests.unit.test_implicit_wait.DriverImplicitWaitFactoryTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/runner/work/selenium-extended/selenium-extended/tests/setup.py", line 40, in setUpClass
cls.driver, cls.elem = test_setup()
File "/home/runner/work/selenium-extended/selenium-extended/tests/setup.py", line 30, in test_setup
driver = Driver("Chrome")
File "/home/runner/work/selenium-extended/selenium-extended/selex/driver.py", line 37, in __init__
getattr(webdriver, browser).__init__(self, **kwargs)
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/chrome/webdriver.py", line 70, in __init__
super(WebDriver, self).__init__(DesiredCapabilities.CHROME['browserName'], "goog",
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/firefox/webdriver.py", line 158, in __init__
firefox_profile = FirefoxProfile(firefox_profile)
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/firefox/firefox_profile.py", line 74, in __init__
shutil.copytree(self.profile_dir, newprof,
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/shutil.py", line 564, in copytree
with os.scandir(src) as itr:
FileNotFoundError: [Errno 2] No such file or directory: 'chrome'
======================================================================
ERROR: test_decorator (tests.unit.test_implicit_wait.DriverImplicitWaitTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/runner/work/selenium-extended/selenium-extended/tests/unit/test_implicit_wait.py", line 45, in test_decorator
driver = self.TestDriver("Chrome")
File "/home/runner/work/selenium-extended/selenium-extended/selex/driver.py", line 37, in __init__
getattr(webdriver, browser).__init__(self, **kwargs)
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/chrome/webdriver.py", line 70, in __init__
super(WebDriver, self).__init__(DesiredCapabilities.CHROME['browserName'], "goog",
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/firefox/webdriver.py", line 158, in __init__
firefox_profile = FirefoxProfile(firefox_profile)
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/firefox/firefox_profile.py", line 74, in __init__
shutil.copytree(self.profile_dir, newprof,
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/shutil.py", line 564, in copytree
with os.scandir(src) as itr:
FileNotFoundError: [Errno 2] No such file or directory: 'chrome'
======================================================================
ERROR: setUpClass (tests.unit.test_keypress.KeypressTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/runner/work/selenium-extended/selenium-extended/tests/setup.py", line 40, in setUpClass
cls.driver, cls.elem = test_setup()
File "/home/runner/work/selenium-extended/selenium-extended/tests/setup.py", line 30, in test_setup
driver = Driver("Chrome")
File "/home/runner/work/selenium-extended/selenium-extended/selex/driver.py", line 37, in __init__
getattr(webdriver, browser).__init__(self, **kwargs)
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/chrome/webdriver.py", line 70, in __init__
super(WebDriver, self).__init__(DesiredCapabilities.CHROME['browserName'], "goog",
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/firefox/webdriver.py", line 158, in __init__
firefox_profile = FirefoxProfile(firefox_profile)
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/firefox/firefox_profile.py", line 74, in __init__
shutil.copytree(self.profile_dir, newprof,
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/shutil.py", line 564, in copytree
with os.scandir(src) as itr:
FileNotFoundError: [Errno 2] No such file or directory: 'chrome'
======================================================================
ERROR: setUpClass (tests.unit.test_save_as_png.ElemSaveAsPngTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/runner/work/selenium-extended/selenium-extended/tests/unit/test_save_as_png.py", line 31, in setUpClass
super().setUpClass()
File "/home/runner/work/selenium-extended/selenium-extended/tests/setup.py", line 40, in setUpClass
cls.driver, cls.elem = test_setup()
File "/home/runner/work/selenium-extended/selenium-extended/tests/setup.py", line 30, in test_setup
driver = Driver("Chrome")
File "/home/runner/work/selenium-extended/selenium-extended/selex/driver.py", line 37, in __init__
getattr(webdriver, browser).__init__(self, **kwargs)
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/chrome/webdriver.py", line 70, in __init__
super(WebDriver, self).__init__(DesiredCapabilities.CHROME['browserName'], "goog",
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/firefox/webdriver.py", line 158, in __init__
firefox_profile = FirefoxProfile(firefox_profile)
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/firefox/firefox_profile.py", line 74, in __init__
shutil.copytree(self.profile_dir, newprof,
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/shutil.py", line 564, in copytree
with os.scandir(src) as itr:
FileNotFoundError: [Errno 2] No such file or directory: 'chrome'
======================================================================
ERROR: setUpClass (tests.unit.test_typing.TypingTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/runner/work/selenium-extended/selenium-extended/tests/setup.py", line 40, in setUpClass
cls.driver, cls.elem = test_setup()
File "/home/runner/work/selenium-extended/selenium-extended/tests/setup.py", line 30, in test_setup
driver = Driver("Chrome")
File "/home/runner/work/selenium-extended/selenium-extended/selex/driver.py", line 37, in __init__
getattr(webdriver, browser).__init__(self, **kwargs)
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/chrome/webdriver.py", line 70, in __init__
super(WebDriver, self).__init__(DesiredCapabilities.CHROME['browserName'], "goog",
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/firefox/webdriver.py", line 158, in __init__
firefox_profile = FirefoxProfile(firefox_profile)
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/site-packages/selenium/webdriver/firefox/firefox_profile.py", line 74, in __init__
shutil.copytree(self.profile_dir, newprof,
File "/opt/hostedtoolcache/Python/3.9.10/x64/lib/python3.9/shutil.py", line 564, in copytree
with os.scandir(src) as itr:
FileNotFoundError: [Errno 2] No such file or directory: 'chrome'
----------------------------------------------------------------------
Ran 48 tests in 0.553s
FAILED (errors=8, skipped=1)
call('wmic datafile where name="C:\\\\Program Files (x86)\\\\Google\\\\Chrome\\\\Application\\\\chrome.exe" get Version /value', shell=True)
[call('wmic datafile where name="C:\\\\Program Files\\\\Google\\\\Chrome\\\\Application\\\\chrome.exe" get Version /value', shell=True),
call('wmic datafile where name="C:\\\\Program Files (x86)\\\\Google\\\\Chrome\\\\Application\\\\chrome.exe" get Version /value', shell=True)]
Error: Process completed with exit code 1.
Three minor tasks:
FileNotFoundError: [Errno 2] No such file or directory: 'chrome'
.Full CI output is below: