【问题标题】:Acceptance testing, docker and selenium验收测试,docker 和 selenium
【发布时间】:2017-01-12 09:16:07
【问题描述】:

我正在尝试创建一些旨在构建我的 javascript 应用程序的容器。

这是我需要做的:

  • 安装我的依赖项
  • 开始我的单元测试
  • 构建我的项目
  • 开始我的验收测试

这是我的项目 dockerfile:

FROM node:6.9

# Enviroment variables
ENV HOMEDIR /data

RUN mkdir -p ${HOMEDIR}
WORKDIR ${HOMEDIR}

# install all dependencies
ADD package.json ./
RUN npm install

# add node content initially
ADD . .
CMD CI=true npm test && npm run build && npm run test:acceptance

事实上,当我开始验收测试时,我需要使用 selenium 服务器和 phantomjs 浏览器。这样,感谢 stackoverflow 社区,我创建了一个 docker-compose.yml 文件,如下所示:

version: '2'
services:
  hub:
    image: selenium/hub
    ports:
      - "4444:4444"
  phantomjs:
    image: akeem/selenium-node-phantomjs
    depends_on:
      - hub
    links:
      - hub
  app:
    build: .
    depends_on:
      - hub
      - phantomjs

我的 selenium-phantomjs 很好地连接到我的 selenium/hub,并且 selenium 在我的主机上的 localhost:4444 可用。

我真正的问题是我实现验收测试的工具(webdriverio)似乎无法联系到selenium服务器,我不知道为什么。

我有以下堆栈:

app_1        | [08:24:07]  COMMAND  POST     "/wd/hub/session"
app_1        | [08:24:07]  DATA     {"desiredCapabilities":{"javascriptEnabled":true,"locationContextEnabled":true,"handlesAlerts":true,"rotatable":true,"maxInstances":5,"browserName":"phantomjs","loggingPrefs":{"browser":"ALL","driver":"ALL"},"requestOrigins":{"url":"http://webdriver.io","version":"4.6.1","name":"webdriverio"}}}
app_1        | ERROR: Couldn't connect to selenium server
app_1        | phantomjs
app_1        | Error: Couldn't connect to selenium server
app_1        |
app_1        | Wrote xunit report to [./xunit].

有什么建议吗?

感谢您的帮助

【问题讨论】:

    标签: selenium docker docker-compose webdriver-io


    【解决方案1】:

    如果您从另一个容器中运行测试脚本,则需要将 wd_host 参数设置为 http://hub:4444/wd/hub,而不是 http://localhost:4444/wd/hub(默认)。

    links: 字段使hub 在主机名hub 下可用,而不是localhost,可用于其他容器。

    ports: 字段仅用于从您的主机访问容器,它不会影响容器本身可以访问的内容。

    【讨论】:

    • 感谢您的回答。我正在尝试找到一种方法来修改 wdio.conf.js x_x 中的 selenium 主机。我会在这工作时给你反馈
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-23
    • 1970-01-01
    • 2011-04-12
    • 2015-08-16
    • 1970-01-01
    相关资源
    最近更新 更多