如何使用Selenium Grid Extras / json配置文件设置Selenium节点的id?

时间:2016-08-31 21:03:26

标签: selenium selenium-grid

我正在将我们的Selenium Grid转换为使用Selenium Grid Extras,到目前为止看起来很棒!但是我遇到了一个问题,在此之前,我们的节点将由网格控制台中的机器名称表示(例如id : http://SELENIUMXX:5555, OS : WINDOWS),但现在只用它们的IP地址表示(例如id : http://x.x.x.x:5556, OS : WINDOWS) 。由于前者更容易阅读,我想知道如何使用SGE / json配置文件设置节点ID属性。打开节点本身的bat文件都是由SGE从配置文件动态构造的,所以我不能在那里设置ID。

我传入了一个“friendlyHostName”参数,但是如果你点击配置选项卡,它只会显示在控制台中。

3 个答案:

答案 0 :(得分:3)

您应该在下载Selenium Grid Extras jar的目录中找到节点配置文件。打开该JSON文件并添加属性

"host": "MyMachineNameGoesHere"

在密钥"configuration"

我决定给Selenium Grid附加功能一个旋转,这就是我的完整节点配置文件的样子

{
  "capabilities": [
    {
      "seleniumProtocol": "WebDriver",
      "browserName": "chrome",
      "maxInstances": 3,
      "version": "52",
      "platform": "MAC"
    }
  ],
  "configuration": {
    "proxy": "com.groupon.seleniumgridextras.grid.proxies.SetupTeardownProxy",
    "maxSession": 3,
    "port": 5555,
    "register": true,
    "unregisterIfStillDownAfter": 10000,
    "hubPort": 4444,
    "hubHost": "127.0.0.1",
    "host": "dragonlair.local",
    "nodeStatusCheckTimeout": 10000,
    "downPollingLimit": 0
  },
  "loadedFromFile": "node_5555.json"
}

答案 1 :(得分:0)

我找到了一种通用方法,因此您无需手动更改每个方法。在您的config目录中,根据Krishnan Mahadevan的答案,在配置中设置一个主节点配置文件,import numpy as np x = np.array(x) x = x.astype(float) 行,然后运行此批处理文件:

"host": "HOSTNAME",

答案 2 :(得分:0)

使用Selenium 3.141进行此操作,试图使json文件正常工作。然后偶然发现解决方案...

问题::我的Selenium 3.x“网格控制台”没有显示我在json配置文件中指定的“ id”(唯一的节点名称)。

解决方案::请勿使用json配置文件。而是在命令行中放置“ -id nodeName”。

示例:

  

java.exe -jar /pathToJar/selenium-server-standalone-3.141.59.jar -id   MyNodeName-角色节点-nodeConfig /pathToMyConfig/nodeConfig.json

“ MyNodeName”是您希望网格控制台(网站)将Selenium节点显示为(而不是默认IP地址)的唯一名称。

摘要::在命令行中,使用“ -id EnterNodeNameHere”。

不知道顺序是否重要...但是我在-role parm之前放了-id。