0

看起来 SeleniumGrid2 无法同时启动浏览器实例。所以下面的python脚本:

import time
from threading import Thread
from datetime import datetime
from selenium import webdriver


def start_firefox_remote():
    print datetime.now(), 'start firefox remote creation'
    capabilities = webdriver.DesiredCapabilities.FIREFOX
    capabilities['firefox_binary'] = '/usr/bin/firefox'
    browser = webdriver.Remote('http://10.0.2.149:4444/wd/hub',
                               desired_capabilities=capabilities)
    print datetime.now(), 'end firefox remote creation'


for i in xrange(5):
    time.sleep(.1)
    Thread(target=start_firefox_remote).start()

输出以下内容:

2014-03-25 03:12:29.294335 start firefox remote creation
2014-03-25 03:12:29.395388 start firefox remote creation
2014-03-25 03:12:29.499435 start firefox remote creation
2014-03-25 03:12:29.600302 start firefox remote creation
2014-03-25 03:12:29.700916 start firefox remote creation
2014-03-25 03:12:31.806996 end firefox remote creation
2014-03-25 03:12:34.775233 end firefox remote creation
2014-03-25 03:12:37.948995 end firefox remote creation
2014-03-25 03:12:40.612055 end firefox remote creation
2014-03-25 03:12:44.301012 end firefox remote creation
[Finished in 15.2s]

如您所见,浏览器实例的创建过程是同时开始的,但随后它们以非并发模式依次创建。我正在使用 selenium-server-standalone 2.39.0。有趣的是,添加额外的 selenium 节点也无济于事。

如何运行具有真正并发支持的 SeleniumGrid?非常感谢。

4

0 回答 0