[英]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.