【发布时间】: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