无法使用Firefox节点截取屏幕截图

时间:2017-09-19 17:29:48

标签: selenium docker selenium-grid

我的Selenium测试旨在获取失败的屏幕截图并将其添加到报告中。截图显示为Chrome浏览器完美显示,但Firefox屏幕截图只是白色矩形。更改日志说明了我试图禁用的“通过”模式Togglz documentation,但似乎没有任何效果。

这是我的docker撰写文件:

seleniumhub:
  image: selenium/hub
  ports:
    - 4444:4444

firefoxnode:
  image: selenium/node-firefox-debug
  ports:
    - 4577
  links:
    - seleniumhub:hub
  environment:
    - enablePassThrough=false
    - NODE_MAX_INSTANCES=5
    - NODE_MAX_SESSION=5

chromenode:
  image: selenium/node-chrome-debug
  ports:
    - 4578
  links:
    - seleniumhub:hub
  environment:
    - NODE_MAX_INSTANCES=5
    - NODE_MAX_SESSION=5  

1 个答案:

答案 0 :(得分:0)

我认为enablePassThrough不是有效的环境变量。配置是从https://github.com/SeleniumHQ/docker-selenium/blob/master/NodeFirefox/generate_config生成的,该https://github.com/SeleniumHQ/docker-selenium/blob/master/NodeBase/entry_point.sh#L28-L30仅包含您的NODE_MAX_INSTANCESNODE_MAX_SESSION

但是,enter image description here的入口点中的父基本映像存在SE_OPTS变量。您可以使用它来设置-enablePassThrough false。您在Docker Compose中的服务定义将是这样的:

firefoxnode:
  image: selenium/node-firefox-debug
  ports:
    - 4577
  links:
    - seleniumhub:hub
  environment:
    - SE_OPTS="-enablePassThrough false"
    - NODE_MAX_INSTANCES=5
    - NODE_MAX_SESSION=5