Selenium Python无法与无头火狐连接

时间:2018-06-06 11:27:48

标签: python django selenium

我在Django应用聊天中使用selenium的tests.py

tests.py

from channels.testing import ChannelsLiveServerTestCase
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.firefox.options import Options


class ChatTests(ChannelsLiveServerTestCase):
    serve_static = True  # emulate StaticLiveServerTestCase

    @classmethod
    def setUpClass(cls):
        super().setUpClass()
        try:
            # NOTE: Requires "chromedriver" binary to be installed in $PATH
            options = Options()
            options.set_headless(headless=True)

            cls.driver = webdriver.Firefox(firefox_options=options)
        except:
            super().tearDownClass()
            raise
....

我像这样运行测试并找回了这个错误

(chatenv) muiruri_samuel@train:~/webapp/chatsys$ python manage.py test chat.tests
Creating test database for alias 'default'...
System check identified no issues (0 silenced).
E
======================================================================
ERROR: setUpClass (chat.tests.ChatTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/muiruri_samuel/webapp/chatsys/chat/tests.py", line 19, in setUpClass
    cls.driver = webdriver.Firefox(firefox_options=opts)
  File "/home/muiruri_samuel/webapp/chatenv/lib/python3.6/site-packages/selenium/webdriver/firefox/webdriver.py"
, line 170, in __init__
    keep_alive=True)
  File "/home/muiruri_samuel/webapp/chatenv/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py",
 line 156, in __init__
    self.start_session(capabilities, browser_profile)
  File "/home/muiruri_samuel/webapp/chatenv/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py",
 line 245, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/home/muiruri_samuel/webapp/chatenv/lib/python3.6/site-packages/selenium/webdriver/remote/webdriver.py", line 314, in execute
    self.error_handler.check_response(response)
  File "/home/muiruri_samuel/webapp/chatenv/lib/python3.6/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: connection refused


----------------------------------------------------------------------
Ran 0 tests in 61.180s

FAILED (errors=1)
Destroying test database for alias 'default'...

根据我检查过的可能原因是firefox无法在ubuntu上运行vm,因为它在服务器上并且它主要用于测试代码工作(与套接字连接)。

更新

使用推荐的新方法设置无头但它也失败并返回相同的错误。

0 个答案:

没有答案