PyCharm kann keine Verbindung zu GhostDriver herstellen

Ich habe einen Komponententest, der bestanden wird, wenn ich ihn durchführepython manage.py test, aber es schlägt fehl, wenn ich es aus PyCharm heraus starte.

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()

Die Ausnahme, die ich beim Ausführen von PyCharm bekomme, ist

WebDriverException: Message: 'Can not connect to GhostDriver' 

Ich habe ziemlich viel Zeit damit verbracht, mich mit diesem Problem zu befassen, und ich habe festgestellt, dass der Test innerhalb von PyCharm erfolgreich ist, wenn ich einen Port manuell angebe.

# suppose 50000 happens to be a free port on your computer
driver = webdriver.PhantomJS(executable_path=PHANTOMJS_PATH, port=50000)

Um es kurz zusammenzufassen:

Test besteht mitpython manage.py testTest besteht in PyCharm, wenn der Port manuell angegeben wirdTest schlägt in PyCharm fehl, wennport=free_port()

Was macht PyCharm, damit der Test keine Verbindung zu Ghostdriver herstellen kann?

# 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 

Antworten auf die Frage(1)

Ihre Antwort auf die Frage