Selenium: "role hub"和"role webdriver"有什么区别?

6
我正在使用Selenium进行自动化测试。那么,两者之间有什么区别呢?
java -jar selenium-server-standalone-2.24.1.jar -role hub

并且

java -jar selenium-server-standalone-2.24.1.jar -role webdriver

看起来是一样的。还是有什么区别吗?


角色中心打开一个Selenium Grid中心,并且角色WebDriver对我来说失败了。 - Franz Ebner
从我相信的版本3.8开始,需要使用“-role webdriver”参数;如果您只是将独立服务器用作hub+node。区别在于“-role hub”可以将您的客户端连接到多个节点之一(“-role node”必须注册或指向“-role hub”机器),然后它就变成了网格或农场。这一切都会在Selenium 4中发生改变,其中事情变得不那么“硬编码”,以管理多个节点。https://www.selenium.dev/documentation/en/grid/ - user337598
2个回答

1

引用官方维基页面的话:

Hub是中心点,将接收所有测试请求并将其分配给正确的节点。

无论您想要运行具有新WebDriver功能的网格,还是具有Selenium 1 RC功能的网格,或者同时运行两者,您都可以使用相同的selenium-server-standalone jar文件启动节点。

我的个人想法:节点用于Selenium 1(RC),webdriver用于Selenium 2(webdriver)。在我的个人设置中,我使用角色webdriver。

如果维基不足够,请加入Selenium用户组


-1

一切都取决于节点的能力,下面的JSON文件显示了seleniumProtocol的值,并根据此反映出网格上的RC和Webdriver。

  "capabilities":
      [
        {
          "browserName": "*firefox",
          "maxInstances": 2,
          "seleniumProtocol": "Selenium"
        },
        {
          "browserName": "*googlechrome",
          "maxInstances": 2,
          "seleniumProtocol": "Selenium"
        },
        {
          "browserName": "*iexplore",
          "maxInstances": 1,
          "seleniumProtocol": "Selenium"
        },
    {
          "browserName": "firefox",
          "maxInstances": 5,
          "seleniumProtocol": "WebDriver"
        },
        {
          "browserName": "chrome",
          "maxInstances": 5,
          "seleniumProtocol": "WebDriver"
        },
        {
          "browserName": "internet explorer",
          "maxInstances": 1,
          "seleniumProtocol": "WebDriver"
        }

无论我们在命令行中给出节点还是webdriver,始终在网格上显示RCwebdriver实例

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接