2017-10-10 8 views
1

https://github.com/hulilabs/webdriverio)テストドッキングウィンドウを経由してスクリプトで使用するためのenv変数を設定する方法:(?ENV)ドッカー作曲:私はwebdriverIOを実行している

docker-compose run --rm webdriverio wdio 

は、今私は、このコマンドで変数を設定する必要がありますこれはテストファイルで使用できます。

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') 
    }) 
}) 

どうすればいいですか?


設定

マイwdio.conf.js

exports.config = { 
    host: 'hub', 
    port: 4444, 
    specs: [ 
    './specs/**/*.js' 
    ], 
    capabilities: [ 
    { browserName: 'chrome' }, 
    { browserName: 'firefox' } 
    ] 
} 

マイドッキングウィンドウ-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 
+0

nodeJsを使用していますか? –

+0

はい、あります。しかし、私はこれがここでは関係ないと思う.... – user3142695

答えて

2

まず、あなたは、あなたが

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') 
    }) 
}) 

また、あなたのアプリケーションでこのvaruiableを読む必要が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 

にENV変数を設定する必要があり、あなたのDockerfileデフォルト値でENV変数を置くことができるで:

ENV APP_PROFILE=prod 
関連する問題