如何在CloudFoundry上运行Selenium-Grid?

时间:2018-10-03 09:37:50

标签: cloudfoundry selenium-grid selenium-grid2

有人用Gorouter提供的路由在CloudFoundry上运行Selenium-Grid吗?

根据"Selenium-Grid Documentation",我们可以将集线器地址传递给这样的节点实例:

java -jar selenium-server-standalone.jar \ 
  -role node \
  -hub http://myhub.cf/grid/register 

但是此节点使用本地地址和端口注册自己。

1 个答案:

答案 0 :(得分:3)

我已经找到解决问题的方法(硒v3.14.0)。

基于selenium-server-standalone的本地测试

  • 集线器

    java -Xmx640M -jar selenium-server-standalone.jar -role hub -debug
    
  • 节点

    java -Xmx640M -jar selenium-server-standalone.jar -role node -debug \
      -hub http://localhost:4444/grid/register \
      -port 8080 -remoteHost http://localhost:8080 
    

基于docker的CloudFoundry清单

https://hub.docker.com/u/selenium/

Hub

---
applications:
- name: selenium-hub
  docker:
    image: selenium/hub
  instances: 1
  memory: 1G
  disk_quota: 1G
  routes:
  - route: selenium-hub.mycf.cloud
  env: 
    JAVA_OPTS: "-Xmx640M"
    GRID_DEBUG: false
    # Max "browser" sessions a grid can handle
    GRID_MAX_SESSION: 5

节点

---
applications:
- name: selenium-node-chrome-1
  docker:
    image: selenium/node-chrome
  instances: 1
  memory: 1G
  disk_quota: 1.5G
  routes:
  - route: selenium-node-chrome-1.mycf.cloud
  env: 
    JAVA_OPTS: "-Xmx640M"
    GRID_DEBUG: false
    HUB_HOST: selenium-hub.mycf.cloud
    HUB_PORT: 80
    NODE_PORT: 8080
    REMOTE_HOST: http://selenium-node-chrome-1.mycf.cloud:80
    # Max "browser" sessions a node can handle. Default determined by configuration type.
    NODE_MAX_SESSION: 5

- name: selenium-node-firefox-1
  docker:
    image: selenium/node-firefox
  instances: 1
  memory: 1G
  disk_quota: 1.5G
  routes:
  - route: selenium-node-firefox-1.mycf.cloud
  env: 
    JAVA_OPTS: "-Xmx640M"
    GRID_DEBUG: false
    HUB_HOST: selenium-hub.mycf.cloud
    HUB_PORT: 80
    NODE_PORT: 8080
    REMOTE_HOST: http://selenium-node-firefox-1.mycf.cloud:80
    # Max "browser" sessions a node can handle. Default determined by configuration type.
    NODE_MAX_SESSION: 5