简体   繁体   English

在本地计算机上使用硒网格运行并行测试时,webdriver返回与浏览器的通信错误

[英]webdriver returns error of communication with browser on parallel test run with selenium grid on local machine

I'm running tests on local machine on Mac OS Python 2.7.5 我正在Mac OS Python 2.7.5的本地计算机上运行测试

Selenium hub: 硒中心:

java -jar ~/Downloads/selenium-server-standalone-2.42.2.jar -role hub java -jar〜/ Downloads / selenium-server-standalone-2.42.2.jar -role hub

Selenium node: 硒节点:

java -jar ~/Downloads/selenium-server-standalone-2.42.2.jar -Dwebdriver.chrome.driver=/usr/local/bin/chromedriver -role node http://127.0.0.1:4444/grid/register

chromedriver is: chromedriver是:

ChromeDriver 2.10.267517 ChromeDriver 2.10.267517

I'm using behave framework and open new instance of chrome driver before each scenarion and use quit method avery after scenario hook. 我正在使用行为框架并在每个方案之前打开chrome驱动程序的新实例,并在方案挂钩之后使用quit方法。

When i'm running tests one by one a have no problems. 当我一个接一个地运行测试时,没有问题。

When i running tests in parallel on firefox driver everything is fine but with crome i have unexpected behavior. 当我在firefox驱动程序上并行运行测试时,一切都很好,但是使用crome时,我的行为异常。

When first step in number of parallel tests on one node is over all other steps crashed with: 当一个节点上并行测试数量的第一步超过所有其他步骤时,崩溃:

WebDriverException: Message: u"Error communicating with the remote browser. It may have died.\\nBuild info: version: '2.42.2', revision: '6a6995d', time: '2014-06-03 17:42:03'\\nSystem info: host: 'point', ip: '127.0.0.1', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.9.2', java.version: '1.7.0_51'\\nDriver info: driver.version: EventFiringWebDriver" ; WebDriverException:消息:u“与远程浏览器通信时出错。它可能已死。\\ n内部版本信息:版本:'2.42.2',修订版:'6a6995d',时间:'2014-06-03 17:42:03' \\ n系统信息:主机:'point',ip:'127.0.0.1',操作系统名称:'Mac OS X',os.arch:'x86_64',os.version:'10 .9.2',java.version: '1.7.0_51'\\ n驱动器信息:driver.version:EventFiringWebDriver“; Stacktrace: 堆栈跟踪:

On selenium grid console i see that first selenium session is closed but all others are present. 在硒网格控制台上,我看到第一个硒会话已关闭,但所有其他会话都存在。

I'm sure that i have only one instance of driver per test. 我确定每个测试我只有一个驱动程序实例。 i run tests parallel with multiprocessing module support: 我与多处理模块支持并行运行测试:

for n in range(N):
    p = multiprocessing.Process(target=worker_wrapper, args=(compiled_cmd,))
    jobs.append(p)
    p.start()
    time.sleep(3)

for j in jobs:
    j.join()
    if j.exitcode != 0:
        sys.exit(1)

I appreciate any advice on my problem. 感谢您对我的问题提出的任何建议。

Sounds as if your driver is being stored a static or some such global variable. 听起来好像驱动程序正在存储静态变量或某些此类全局变量。

Posting your initialization code may show the issue 发布您的初始化代码可能会显示问题

通过在Linux平台(Ubuntu)上移动解决了问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何与 Selenium WebDriver 并行运行浏览器实例 - How to run browser instances in parallel with Selenium WebDriver selenium webdriver python:打开chrome浏览器运行测试用例不加载浏览器的已保存设置 - selenium webdriver python: opening chrome browser to run test case does not load the saved settings of the browser 使用Selenium Webdriver Python多次运行测试 - Run test multiple times with Selenium Webdriver Python Selenium Python browser = webdriver.Firefox()错误 - Selenium Python browser=webdriver.Firefox() error 使用Selenium WebDriver和Python打开浏览器时出错 - Error in opening browser using selenium webdriver and python Docker 容器使用 selenium webdriver 返回错误 - Docker container returns an error with selenium webdriver 使用带有 Python 的 Selenium Webdriver 在 Headless chrome 浏览器上运行脚本时发生超时错误 - Timeout Error occurred When run a script on Headless chrome browser by using Selenium Webdriver with Python 硒:在我的机器上远程运行测试? - Selenium: Run test on my machine remotely? 我可以运行 Selenium WebDriver 可见浏览器 window 吗? - Can i run Selenium WebDriver visible browser window? 如何在单台计算机上使用Selenium Grid加快测试执行速度 - How to Speed up Test Execution Using Selenium Grid on single machine
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM