PyCharm nie może połączyć się z GhostDriver

Mam test jednostkowy, który przechodzi, gdy go uruchomiępython manage.py test, ale nie działa, gdy uruchamiam go z 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()

Wyjątkiem, który otrzymuję podczas uruchamiania z PyCharm, jest

WebDriverException: Message: 'Can not connect to GhostDriver' 

Spędziłem sporo czasu na zgłębianiu tego problemu i zauważyłem, że kiedy określam port ręcznie, test przechodzi w PyCharm.

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

Aby szybko podsumować:

Testy zpython manage.py testTest przechodzi w PyCharm, jeśli port jest określony ręcznieTest w PyCharm kończy się niepowodzeniemport=free_port()

Co robi PyCharm, aby test nie mógł połączyć się z 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 

questionAnswers(1)

yourAnswerToTheQuestion