升級selenium 3.3.0 後報錯解決辦法
sudo pip install --upgrade selenium In [4]: import selenium In [5]: selenium.version Out[5]: '3.3.0'
執行測試時報錯誤如下:
swot@pp:~/pp/superlists$ python manage.py test functional_tests.tests.NewVisitorTest.test_layout_and_styling Creating test database for alias 'default'... E ====================================================================== ERROR: test_layout_and_styling (functional_tests.tests.NewVisitorTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/swot/pp/superlists/functional_tests/tests.py", line 123, in test_layout_and_styling inputbox.location.get('x') + inputbox.size['width']/2, File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webelement.py", line 403, in location new_loc = {"x": round(old_loc['x']), TypeError: 'NoneType' object has no attribute 'getitem' ---------------------------------------------------------------------- Ran 1 test in 4.378s FAILED (errors=1) Destroying test database for alias 'default'...
原因是:Selenium 3.3.0 requires geckodriver 0.15 due to changes in command response values
wget https://github.com/mozilla/geckodriver/releases/download/v0.15.0/geckodriver-v0.15.0-linux64.tar.gz tar xzvf geckodriver-v0.14.0-linux64.tar.gz sudo cp geckodriver /usr/local/bin python manage.py test functional_tests.tests.NewVisitorTest.test_layout_and_styling Creating test database for alias 'default'... . ---------------------------------------------------------------------- Ran 1 test in 5.307s OK Destroying test database for alias 'default'...
參考官網說明:
以上是升級 selenium 3.3.0 後報錯解決辦法的詳細內容。更多資訊請關注PHP中文網其他相關文章!