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'...
参考官网说明:
https://github.com/mozilla/geckodriver/releases