Proxy 无法将seleniumgrid中的docker chrome节点绑定到代理容器 问题

Proxy 无法将seleniumgrid中的docker chrome节点绑定到代理容器 问题,proxy,docker-compose,selenium-chromedriver,selenium-grid,Proxy,Docker Compose,Selenium Chromedriver,Selenium Grid,我正在docker桥接网络中使用mobbrowserproxy启动seleniumgrid。远程驱动程序代理设置配置正确,但我无法从chrome驱动程序连接到代理服务器。我已经研究了所有问题,但我找不到解决办法 下面是显示驱动程序所需功能/选项的错误 堆栈跟踪 我相信stacktrace的关键点就在这里 chrome_1 | Only local connections are allowed. chrome_1 | Please protect ports used

我正在docker桥接网络中使用mobbrowserproxy启动seleniumgrid。远程驱动程序代理设置配置正确,但我无法从chrome驱动程序连接到代理服务器。我已经研究了所有问题,但我找不到解决办法

下面是显示驱动程序所需功能/选项的错误

堆栈跟踪 我相信stacktrace的关键点就在这里

chrome_1        | Only local connections are allowed.
chrome_1        | Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
chrome_1        | [1589038824.252][SEVERE]: bind() failed: Cannot assign requested address (99)
复制 复制此错误。如果您只需启动容器并登录到chromenode并使用chromedriver cli,您应该会在终端中看到相同的错误。同样,这个问题的目标是通过chromedriver代理设置连接代理容器

version: "3"

services:
  selenium-hub:
    image: selenium/hub:3.141.59-20200409
    container_name: selenium-hub
    ports:
      - "4444:4444"
    networks: 
      - caowebtests

  chrome:
    image: selenium/node-chrome:3.141.59-oxygen
    depends_on:
      - selenium-hub
    environment:
      - HUB_HOST=selenium-hub
      - HUB_PORT=4444
    networks: 
      - caowebtests
    expose: 
      - 9515

  firefox:
    image: selenium/node-firefox:3.141.59-20200409
    depends_on:
      - selenium-hub
    environment:
      - HUB_HOST=selenium-hub
      - HUB_PORT=4444
    networks: 
      - caowebtests

  opera:
    image: selenium/node-opera:3.141.59-20200409
    depends_on:
      - selenium-hub
    environment:
      - HUB_HOST=selenium-hub
      - HUB_PORT=4444
    networks: 
      - caowebtests

  proxy:
    image: spothero/browsermob-proxy:1.0.0
    depends_on:
      - selenium-hub
    networks: 
      - caowebtests
    ports:
      - "9090:9090"
    links:
      - selenium-hub
      - firefox
      - chrome
      - opera

  robottests:
    container_name: robottests
    command: /bin/sleep infinity
    depends_on:
      - selenium-hub
    build: .
    volumes:
      - ./reports:/cao_ui_tests/reports
    networks: 
      - caowebtests


networks:
  caowebtests:
    driver: bridge
正如您在上面的跟踪中所看到的。所需的功能和选项都在那里。我想弄清楚的是为什么chrome驱动程序在上面的代理设置中出现了这个错误

在登录页面上查找第一个元素时,我的测试失败。我不确定您是否需要测试脚本和执行测试脚本的能力来尝试重现这一点,或者这是否是可以指出的。如果需要,我可以将此回购添加到github

下面是测试脚本 环境 这是在MacOs Mojave上

建议 我认为这个脚本最重要的部分是连接到hub和mob浏览器代理容器的变量

${BMP_HOST}  0.0.0.0
${BMP_PORT}  9090
${SELENIUM}  http://0.0.0.0:4444/wd/hub
这个脚本只是向您展示了我如何设置您在chrome节点的stacktrace中已经看到的首选项

chrome_1        | Only local connections are allowed.
chrome_1        | Please protect ports used by ChromeDriver and related test frameworks to prevent access by malicious code.
chrome_1        | [1589038824.252][SEVERE]: bind() failed: Cannot assign requested address (99)
工具书类 这些是我在网上已经发现的问题 -在这个问题的底部,通过添加解决了这个问题,正如您在上面看到的。我已经试过了

--disable-dev-shm-usage'
这家伙通过在docker配置中添加ipv6解决了这个问题。但是我在docker compose中使用了桥接网络,所以我不明白为什么这个选项很重要

以前的尝试 我不确定这是否是chromedriver或docker的问题。经历一些我已经尝试过的事情。。。 1.我尝试登录到chrome容器并使用chromedriver cli…我也遇到了相同的错误 我确实试着使用包含chromedriver 74的图像作为下一条评论 消除

chrome_1        | Only local connections are allowed.
chrome_1        | [1589038824.252][SEVERE]: bind() failed: Cannot assign requested address (99)
您需要为docker chrome节点图像设置env
JAVA_OPTS


  chrome:
    image: selenium/node-chrome:3.141.59-oxygen
    depends_on:
      - selenium-hub
    environment:
      - HUB_HOST=selenium-hub
      - HUB_PORT=4444
      - JAVA_OPTS=-Dwebdriver.chrome.whitelistedIps=
    networks: 
      - caowebtests
    expose: 
      - 9515
消除

chrome_1        | Only local connections are allowed.
chrome_1        | [1589038824.252][SEVERE]: bind() failed: Cannot assign requested address (99)
您需要为docker chrome节点图像设置env
JAVA_OPTS


  chrome:
    image: selenium/node-chrome:3.141.59-oxygen
    depends_on:
      - selenium-hub
    environment:
      - HUB_HOST=selenium-hub
      - HUB_PORT=4444
      - JAVA_OPTS=-Dwebdriver.chrome.whitelistedIps=
    networks: 
      - caowebtests
    expose: 
      - 9515