12
python manage.py test
で実行したときに渡すユニットテストがありますが、PyCharmから実行すると失敗します。私はこの問題を掘り下げるかなりの時間を費やしてきた、と私は気づいたPyCharmがGhostDriverに接続できません
WebDriverException: Message: 'Can not connect to GhostDriver'
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()
PyCharmから実行しているときに私が得る例外は、私は手動でポートを指定する場合テストはPyCharm内をパスします。
# suppose 50000 happens to be a free port on your computer
driver = webdriver.PhantomJS(executable_path=PHANTOMJS_PATH, port=50000)
は、迅速にまとめます。ポートを手動で指定されているport=free_port()
が何である場合
- テストは
- テストPyCharmに渡し
python manage.py test
に渡します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
PyCharmで 'free_port()'が返されるのは何ですか?どのOSを使用していますか? – CrazyCoder
私はOS X - を使用し、free_port()は通常50000〜60000の間のポートを返します。 –
ターミナルからPyCharmを起動すると役に立ちますか? 'open -a/Applications/PyCharm.app /'? – CrazyCoder