我正在使用一个非常复杂的设置来测试各种非公开网页。我使用jenkins在docker映像中运行python-selenium测试。这样,我完全独立于詹金斯的环境,并能创造我自己的环境。在这个环境中,我安装了以下软件:
selenium测试以如下方式创建WebDriver:
profile = webdriver.FirefoxProfile()
profile.set_preference("browser.download.dir", self.downloadpath)
profile.set_preference("browser.download.folderList", 2)
profile.set_preference("browser.download.useDownloadDir", True)
profile.set_preference("browser.download.manager.showWhenStarting", False)
profile.set_preference("pdfjs.disabled", True)
profile.set_preference("browser.helperApps.neverAsk.saveToDisk",
"application/force-download, image/png, text/html, text/plain, "
"image/tiff, text/csv, application/zip, application/octet-stream")
profile.set_preference("browser.download.manager.alertOnEXEOpen", False)
profile.set_preference("browser.download.manager.focusWhenStarting", False)
profile.set_preference("browser.helperApps.alwaysAsk.force", False)
profile.set_preference("browser.download.manager.alertOnEXEOpen", False)
profile.set_preference("browser.download.manager.closeWhenDone", True)
profile.set_preference("browser.download.manager.showAlertOnComplete", False)
profile.set_preference("browser.download.manager.useWindow", False)
profile.set_preference("services.sync.prefs.sync.browser.download.manager.showWhenStarting",
False)
self.driver = webdriver.Firefox(profile, log_path = logfile)其中logfile和self.downloadpath是对接程序设置中的两个有效路径。
整个测试套件由6个独立的测试用例组成,每个测试用例的设置与上面相同。它们通常运行良好,完好无损。
但是,如果没有对测试或一般设置进行任何更改,测试有时会失败,出现以下错误消息:
File "/root/tests/bsp_usecase_tests/tools/basicsuite.py", line 210, in set_driver_firefox
self.driver = webdriver.Firefox(profile, log_path = logfile)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 158, in __init__
keep_alive=True)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 154, in __init__
self.start_session(desired_capabilities, browser_profile)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 243, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 311, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 237, in check_response
raise exception_class(message, screen, stacktrace)
WebDriverException: Message: connection refused我有两个问题:
增编
time.sleep(10)行前面使用webdriver.Firefox时,错误不再出现。我应该把这句话放一段时间吗-试试-除了循环?发布于 2018-01-04 05:05:43
这里拒绝什么连接?错误信息的含义是什么?
与Firefox web浏览器之间的连接。嗯,不是连接本身,而是一个was驱动程序发送的一个请求被浏览器“拒绝”了。请注意,这是通过实现的。
我怎样才能修正这个错误呢?
通常,在出现这样的错误时,最常见的原因是兼容性问题。换句话说,我怀疑您的geckodriver版本0.18.0对于Firefox57来说太老了。将geckodriver升级到最新的稳定版本(当前为0.19.1)。
https://stackoverflow.com/questions/47920639
复制相似问题