Web组件测试器无法绑定到端口

时间:2019-01-02 16:17:52

标签: docker polymer wct

我有一个带有以下容器的docker设置:

  1. 硒毂
  2. selenium-firefox
  3. 硒铬
  4. 春季启动应用
  5. 用于wct测试的node / java服务

所有这些容器都是通过docker-compose定义的。 节点/ java服务的创建如下(从docker-compose中提取):

  wct:
    build:
      context: ./app/src/main/webapp
      args:
        ARTIFACTORY: ${DOCKER_REGISTRY}
    image: wct
    container_name: wct
    depends_on:
      - selenium-hub
      - selenium-chrome
      - selenium-firefox
      - webapp

使用以下命令运行wct测试:

docker-compose run -d --name wct-run wct npm run test

wct.conf.js如下所示:

const seleniumGridAddress = process.env.bamboo_selenium_grid_address || 'http://selenium-hub:4444/wd/hub';
const hostname = process.env.FQDN || 'wct';

module.exports = {
  activeBrowsers: [{
    browserName: "chrome",
    url: seleniumGridAddress
  }, {
    browserName: "firefox",
    url: seleniumGridAddress
  }],
  webserver: {
    hostname: hostname
  },
  plugins: {
    local: false,
    sauce: false,
  }
}

测试运行失败,并显示以下堆栈跟踪信息:

ERROR: Server failed to start: Error: No available ports. Ports tried: [8081,8000,8001,8003,8031,2000,2001,2020,2109,2222,2310,3000,3001,3030,3210,3333,4000,4001,4040,4321,4502,4503,4567,5000,5001,5050,5432,6000,6001,6060,6666,6543,7000,7070,7774,7777,8765,8777,8888,9000,9001,9080,9090,9876,9877,9999,49221,55001]
at /app/node_modules/polymer-cli/node_modules/polyserve/lib/start_server.js:384:15
at Generator.next (<anonymous>)
at fulfilled (/app/node_modules/polymer-cli/node_modules/polyserve/lib/start_server.js:17:58)

我尝试按照polyserve cannot serve the app进行修复,但未成功。 我还尝试将hostname设置为wct,因为这是docker网络内部容器的已知主机名,但是它显示相同的错误。

我真的不知道下一步该怎么做。 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

问题在于主机名不正确,因此WCT无法绑定到未知的主机名。