2013-07-24 6 views
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に失敗した場合

    • テストは
    • テスト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 
      
  • +0

    PyCharmで 'free_port()'が返されるのは何ですか?どのOSを使用していますか? – CrazyCoder

    +0

    私はOS X - を使用し、free_port()は通常50000〜60000の間のポートを返します。 –

    +4

    ターミナルからPyCharmを起動すると役に立ちますか? 'open -a/Applications/PyCharm.app /'? – CrazyCoder

    答えて

    関連する問題