加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 初始化驱动程序时Selenium连接超时

发布时间:2020-12-20 13:38:31 所属栏目:Python 来源:网络整理
导读:我写了一个Django(版本1.3,遗憾地)管理命令,用Selenium连接到BrowserStack,我将用于运行集成测试. (我必须编写一个自定义管理命令来解决我们在这个站点中使用AskBot的事实,它以一些有趣的方式弄乱了Django测试框架;否则我只是使用测试框架.) 脚本的要点在这
我写了一个Django(版本1.3,遗憾地)管理命令,用Selenium连接到BrowserStack,我将用于运行集成测试. (我必须编写一个自定义管理命令来解决我们在这个站点中使用AskBot的事实,它以一些有趣的方式弄乱了Django测试框架;否则我只是使用测试框架.)

脚本的要点在这里https://gist.github.com/cellofellow/7491221.这是一个早期脚本的端口,它直接运行unittest而没有任何Django上下文.

会发生什么事情,当我跑步时,我会得到一个跟踪:

./manage.py browserstack signup
Browser: IE
Browser Version: 10.0
Operating System: Windows
OS Version: 7

E
======================================================================
ERROR: runTest (apps.common.management.commands.browserstack.SignUpBasic)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/jgardner/izeni/doterra_pro/apps/common/management/commands/browserstack.py",line 46,in setUp
    desired_capabilities=self.caps)
  File "/home/jgardner/.virtualenvs/doterra_pro/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py",line 71,in __init__
    self.start_session(desired_capabilities,browser_profile)
  File "/home/jgardner/.virtualenvs/doterra_pro/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py",line 113,in start_session
    'desiredCapabilities': desired_capabilities,File "/home/jgardner/.virtualenvs/doterra_pro/local/lib/python2.7/site-packages/selenium/webdriver/remote/webdriver.py",line 162,in execute
    response = self.command_executor.execute(driver_command,params)
  File "/home/jgardner/.virtualenvs/doterra_pro/local/lib/python2.7/site-packages/selenium/webdriver/remote/remote_connection.py",line 355,in execute
    return self._request(url,method=command_info[0],data=data)
  File "/home/jgardner/.virtualenvs/doterra_pro/local/lib/python2.7/site-packages/selenium/webdriver/remote/remote_connection.py",line 402,in _request
    response = opener.open(request)
  File "/usr/lib/python2.7/urllib2.py",line 410,in open
    response = meth(req,response)
  File "/usr/lib/python2.7/urllib2.py",line 523,in http_response
    'http',request,response,code,msg,hdrs)
  File "/usr/lib/python2.7/urllib2.py",line 442,in error
    result = self._call_chain(*args)
  File "/usr/lib/python2.7/urllib2.py",line 382,in _call_chain
    result = func(*args)
  File "/usr/lib/python2.7/urllib2.py",line 897,in http_error_401
    url,req,headers)
  File "/usr/lib/python2.7/urllib2.py",line 872,in http_error_auth_reqed
    response = self.retry_http_basic_auth(host,realm)
  File "/usr/lib/python2.7/urllib2.py",line 885,in retry_http_basic_auth
    return self.parent.open(req,timeout=req.timeout)
  File "/usr/lib/python2.7/urllib2.py",line 404,in open
    response = self._open(req,data)
  File "/usr/lib/python2.7/urllib2.py",line 422,in _open
    '_open',req)
  File "/usr/lib/python2.7/urllib2.py",line 1214,in http_open
    return self.do_open(httplib.HTTPConnection,line 1187,in do_open
    r = h.getresponse(buffering=True)
  File "/usr/lib/python2.7/httplib.py",line 1045,in getresponse
    response.begin()
  File "/usr/lib/python2.7/httplib.py",line 409,in begin
    version,status,reason = self._read_status()
  File "/usr/lib/python2.7/httplib.py",line 365,in _read_status
    line = self.fp.readline(_MAXLINE + 1)
  File "/usr/lib/python2.7/socket.py",line 476,in readline
    data = self._sock.recv(self._rbufsize)
timeout: timed out

----------------------------------------------------------------------
Ran 1 test in 5.201s

FAILED (errors=1)

在BrowserStack中启动一个实例但是因为接下来发生的任何事情无法连接,它只运行一分钟左右然后退出.

它移植的脚本没有这个问题.可能是什么造成的?

解决方法

事实证明我只需要设置socket.setdefaulttimeout(60)在这个代码库中有几十次对socket.setdefaulttimeout的调用,包括依赖项和我们自己的代码,所以谁知道实际设置的是什么.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读