mzaja / selenium-extended

Extends the Selenium webdriver with additional functionality.
MIT License
1 stars 0 forks source link

Fix CI and add Python3.10 support #7

Closed mzaja closed 2 years ago

mzaja commented 2 years ago

Three minor tasks:

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.
mzaja commented 2 years ago

Tests fixed in the commit above. All passing now.

mzaja commented 2 years ago

Python 3.10 CI workflow added in commit above. All tasks are completed now.