Der*_*wok 21 python unit-testing pycharm phantomjs selenium-webdriver
当我运行它时,我有一个单元测试正在通过python manage.py test
,但是当我从PyCharm中运行它时失败了.
def test_alpha(self):
from selenium.webdriver.common.utils import free_port
from selenium import webdriver
driver = webdriver.PhantomJS(executable_path=PHANTOMJS_PATH, port=free_port())
driver.quit()
Run Code Online (Sandbox Code Playgroud)
从PyCharm运行时遇到的异常是
WebDriverException: Message: 'Can not connect to GhostDriver'
Run Code Online (Sandbox Code Playgroud)
我花了相当多的时间来研究这个问题,我注意到当我手动指定一个端口时,测试在PyCharm中传递.
# suppose 50000 happens to be a free port on your computer
driver = webdriver.PhantomJS(executable_path=PHANTOMJS_PATH, port=50000)
Run Code Online (Sandbox Code Playgroud)
快速回顾一下:
python manage.py test
port=free_port()
PyCharm做的是让测试无法连接到Ghostdriver?
# For convenience, the `free_port()` code snippet is here
# selenium.webdriver.common.utils.freeport
def free_port():
free_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
free_socket.bind(('127.0.0.1', 0))
free_socket.listen(5)
port = free_socket.getsockname()[1]
free_socket.close()
return port
Run Code Online (Sandbox Code Playgroud)
小智 0
尝试使用 npm 安装 phantomjs: https://www.npmjs.com/package/phantomjs。我使用 Mac OS X,并且在使用 selenium 和 django 时遇到了类似的问题。
归档时间: |
|
查看次数: |
1960 次 |
最近记录: |