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ではコマンドレスポンス値の変更によりgeckodriver 0.15が必要です
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 中国語 Web サイトの他の関連記事を参照してください。