我有一个带有7个节点的grid2设置,其中每个节点都有1个Firefox,chrome和IE实例。
运行测试时,我不想指定特定的浏览器。相反,我希望网格为我的测试选择随机可用的浏览器。
是否有任何DesiredCapabilities设置可用于实现此功能?
答案 0 :(得分:0)
Grid使用以下三个属性之一来缩小新会话请求应路由到哪个节点:
因此,将测试路由到节点需要其中一项。
您可以通过两种方式满足您的需求:
就个人而言,我觉得选项(1)更容易管理,并且可以与任何网格设置一起使用。
更新部分: 按照所寻找的方式,这里是您正在寻找的改进。
(b)在这个新构建的servlet中,添加围绕这些行的逻辑
org.openqa.grid.internal.Registry registry = null;
List<RemoteProxy> freeProxies = new LinkedList<>();
for (RemoteProxy eachProxy : registry.getAllProxies()) {
if (eachProxy.isBusy()) {
continue;
}
//Add logic here to extract out the next usable browser by querying
//the Proxy's TestSlot
}
(c)一旦将这个servlet注入到Hub中,那么你需要做的就是在执行option(1)之前调用这个新添加的servlet [生成随机所需功能的实用程序对象],找出下一个可用的浏览器风格,然后让你的实用程序相应地生成功能。
PS:此解决方案需要您使用自定义网格,其中您已添加自定义servlet,因此无法使用普通的网格设置。