标记特定的Selenium节点(不修改浏览器版本)

时间:2016-06-30 02:48:10

标签: selenium selenium-webdriver automated-tests selenium-grid

使用Selenium Grid运行多个测试时,它会从符合定义条件(如浏览器类型和版本)的可用节点池中随机选取一个节点。通常需要在特定节点上运行测试,但没有直接的方法可以做到这一点。其中一个解决方法是将其中一个节点上的浏览器版本重命名为某个异常值,然后使用匹配的目标浏览器功能启动测试。这种方法工作正常,但稍微不方便,因为每次需要更改时需要登录到该节点,以及当您想要再次将此节点重新包含到池中时。

因此我想知道是否还有另一种方法可以实现这一目标?也许还有其他目标浏览器功能可用于选择特定节点?

1 个答案:

答案 0 :(得分:0)

我跑过这看起来就像你想要做的那样。

https://rationaleemotions.wordpress.com/2014/01/19/working-with-a-custom-capability-matcher-in-the-grid/

基本上他们正在为节点创建自定义配置,并举例说明。看起来您只需要添加一个属性,例如下面的"crazyNodeName" : "Rambo"示例,即可。

{
    "capabilities":
        [
          {
            "browserName": "firefox",
            "maxInstances": 5,
            "crazyNodeName": "Rambo"
          }
        ],
    "configuration":
    {
      "proxy": "org.openqa.grid.selenium.proxy.DefaultRemoteProxy",
      "maxSession": 5,
      "port": 5555,
      "host": ip,
      "register": true,
      "registerCycle": 5000,
      "hubPort": 4444,
      "hubHost": ip
    }
  }