docker - 无法将 chrome 节点与集线器绑定
问题描述
我有下面的 docker-compose.yml 文件,它将 Chrome、Firefox 节点绑定到集线器。
version: "3"
services:
selenium-hub:
image: selenium/hub
container_name: selenium-hub
ports:
- "4444:4444"
chrome:
image: selenium/node-chrome-debug
depends_on:
- selenium-hub
environment:
- HUB_HOST=selenium-hub
- HUB_PORT=4444
firefox:
image: selenium/node-firefox-debug
depends_on:
- selenium-hub
environment:
- HUB_HOST=selenium-hub
- HUB_PORT=4444
绑定后,我想通过docker-compose scale chrome=3 firefox=3来扩大实例数量。
但是当我触发我的套件时,我收到了错误:
org.openqa.selenium.WebDriverException: Error forwarding the new session Empty pool of VM for setup Capabilities {acceptInsecureCerts: true, browserName: firefox, version: }
Command duration or timeout: 191 milliseconds
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
这就是我的 RemoteWebDriver 路由流量的方式:
if(strBrowsername.equalsIgnoreCase("Chrome"))
{
try {
driver.set(new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), DesiredCapabilities.chrome()));
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else {
try {
driver.set(new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), DesiredCapabilities.firefox()));
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
我觉得不知何故,缩放的 chrome 实例无法绑定到 Hub。这些按比例放大的 chrome 实例如何绑定到 Hub?
解决方案
我想我写错了 docker-compose。
以下帮助:
version: "3"
services:
selenium-hub:
image: selenium/hub
ports:
- "4444:4444"
chrome:
image: selenium/node-chrome-debug
shm_size: '1gb'
depends_on:
- selenium-hub
ports:
- 5901:5900
environment:
HUB_HOST: selenium-hub
HUB_PORT: 4444
NODE_MAX_SESSION: 3
NODE_MAX_INSTANCES: 3
firefox:
image: selenium/node-firefox-debug
shm_size: '1gb'
depends_on:
- selenium-hub
ports:
- 5902:5900
environment:
HUB_HOST: selenium-hub
HUB_PORT: 4444
NODE_MAX_SESSION: 3
NODE_MAX_INSTANCES: 3
推荐阅读
- sql - T-SQL - 选择重新入院(在一定时间内)具有相同诊断的患者
- java - 子类错误:永远不会在尝试正文中抛出 CloneNotSupportedException
- swift - 如何在类外使用变量
- android - 将应用程序从 android Playstore 移植到 Amazon Appstore - 广告展示
- windows - 搜索字符串以查找尾随引号字符并修剪它?
- json - 用于社交网络的更好的 MongoDB 结构
- javascript - DvaJS - 将保存的状态从 localStorage 加载到状态中
- c - MPI - 将随机整数发送到根进程时出错
- parallel-processing - Julia 并行性:@distributed (+) 比串行慢?
- angular - 订阅路由守卫中的 observables 及其含义