Javascript Docker compose:如何设置要在脚本中使用的环境变量
我正在通过docker运行WebDrivero()测试:Javascript Docker compose:如何设置要在脚本中使用的环境变量,javascript,docker,docker-compose,webdriver-io,Javascript,Docker,Docker Compose,Webdriver Io,我正在通过docker运行WebDrivero()测试: docker-compose run --rm webdriverio wdio 现在我需要用这个命令(ENV?)设置一个变量,它可以在测试文件中使用 describe('my awesome website', function () { it('should do some chai assertions', function () { browser.url(url) // <-- I need to set t
docker-compose run --rm webdriverio wdio
现在我需要用这个命令(ENV?)设置一个变量,它可以在测试文件中使用
describe('my awesome website', function () {
it('should do some chai assertions', function () {
browser.url(url) // <-- I need to set the variable (dev vs. prod)
browser.getTitle().should.be.equal('Website title')
})
})
我的docker-compose.yml如下所示:
version: '2'
services:
webdriverio:
image: huli/webdriverio:latest
depends_on:
- chrome
- firefox
- hub
environment:
- HUB_PORT_4444_TCP_ADDR=hub
- HUB_PORT_4444_TCP_PORT=4444
volumes:
- /app:/app
hub:
image: selenium/hub
ports:
- 4444:4444
firefox:
image: selenium/node-firefox
ports:
- 5900
environment:
- HUB_PORT_4444_TCP_ADDR=hub
- HUB_PORT_4444_TCP_PORT=4444
depends_on:
- hub
chrome:
image: selenium/node-chrome
ports:
- 5900
environment:
- HUB_PORT_4444_TCP_ADDR=hub
- HUB_PORT_4444_TCP_PORT=4444
depends_on:
- hub
首先,需要将ENV变量设置为
docker compose.yml
services:
webdriverio:
image: huli/webdriverio:latest
depends_on:
- chrome
- firefox
- hub
environment:
- HUB_PORT_4444_TCP_ADDR=hub
- HUB_PORT_4444_TCP_PORT=4444
- APP_PROFILE=dev # <- here new variable
volumes:
- /app:/app
此外,在Dockerfile
中,您可以将ENV变量设置为默认值:
ENV APP_PROFILE=prod
你用nodeJs吗?是的,我用。但我认为这与此无关。。。。
describe('my awesome website', function () {
it('should do some chai assertions', function () {
browser.url(process.env.APP_PROFILE)
browser.getTitle().should.be.equal('Website title')
})
})
ENV APP_PROFILE=prod