error: [Errno 111] Connection refused - Python, Selenium

error: [Errno 111] Connection refused - Python, Selenium

我正在学习使用 Selenium。到目前为止,我成功地让它工作了。所以,现在我想使用 Selenium IDE 记录导航序列,将它们导出到 python 和 运行 它们。

这是我使用的代码。

from selenium import selenium
import unittest, time, re
#from pyvirtualdisplay import Display

class rc(unittest.TestCase):
def setUp(self):
    self.verificationErrors = []
    #self.display = Display(visible=0, size=(1024, 768))
    #self.display.start()
    self.selenium = selenium("localhost", 4444, "*chrome", "http://www.some-website.in")
    self.selenium.start()

def test_rc(self):
    sel = self.selenium
    sel.click("link=Careers")
    response = sel.get_title()
    print response

def tearDown(self):
    self.selenium.stop()
    self.assertEqual([], self.verificationErrors)
    #self.display.stop()

if __name__ == '__main__':
    unittest.main()

注释行是手动添加的,并在它们起作用的情况下进行了尝试(就像它们在前面的基本示例中所做的那样,我只是想让 selenium 起作用并解决依赖关系)。

在运行这个自动生成的python代码中,我得到:

File "mytest_test.py", line 34, in setUp
  self.selenium.start()
File "/usr/local/lib/python2.7/dist-packages/selenium/selenium.py", line 202, in start
  result = self.get_string("getNewBrowserSession", start_args)
File "/usr/local/lib/python2.7/dist-packages/selenium/selenium.py", line 237, in get_string
  result = self.do_command(verb, args)
File "/usr/local/lib/python2.7/dist-packages/selenium/selenium.py", line 226, in do_command
  conn.request("POST", "/selenium-server/driver/", body, headers)
File "/usr/lib/python2.7/httplib.py", line 973, in request
  self._send_request(method, url, body, headers)
File "/usr/lib/python2.7/httplib.py", line 1007, in _send_request
  self.endheaders(body)
File "/usr/lib/python2.7/httplib.py", line 969, in endheaders
  self._send_output(message_body)
File "/usr/lib/python2.7/httplib.py", line 829, in _send_output
  self.send(msg)
File "/usr/lib/python2.7/httplib.py", line 791, in send
  self.connect()
File "/usr/lib/python2.7/httplib.py", line 772, in connect
  self.timeout, self.source_address)
File "/usr/lib/python2.7/socket.py", line 571, in create_connection
  raise err
error: [Errno 111] Connection refused

帮忙?

您为 selenium RC 转换了测试脚本,因此在执行测试脚本之前确保 selenium RC 服务器 运行在您的机器上可用。

用户在 运行 selenium 服务器下命令: 打开命令提示符并转到下载的 selenium 服务器 jar 文件和 运行 命令

java -jar selenium-server-standalone-2.47.1.jar

在我的例子中,问题是 Chrome 和 chromedriver

的不兼容版本

在您的终端中检查以下命令:

cd <<your test folder>>
which chromedriver
chromedriver --version  

并将版本与chromedriver的最新版本进行比较: https://sites.google.com/a/chromium.org/chromedriver/

当您遇到此类问题时,请检查您的 geckodriver 设置。

当您打开浏览器时,您的 marionette 驱动程序代码应该这样注释:#cap['marionette'] = True.

不要为 Linux 启用 marionette 驱动程序。