2017-11-29 19 views
1

Webdriverを私のコード化の設定に間違いがあり、それを理解できません。docker-composeのコード化 - Webdriverに接続できません

docker-compose run --rm codeception run 

で始まるとき、それは受け入れテストを発見し、さらに$I->wantTo

を読み取りますが、エラーがスローされます。

[ConnectionException] Can't connect to Webdriver at http://127.0.0.1:4444/wd/hub. Please make sure that Selenium Server or PhantomJS is running. 

acceptance.suite.ymlは以下とすでに私です実際のサーバーのIPアドレスであるchrome、nginx-webを使ってurlを置き換えようとしました(これは意味をなさないですが、実際に何がels eをそこに入れる)

actor: AcceptanceTester 
modules: 
    enabled: 
     # selenium webdriver 
     - WebDriver: 
      url: 'http://localhost/' 
      browser: chrome 

     - \Helper\Acceptance 

私のdocker-compose.ymlです。追加のオーバーライドでボリュームを設定しました

version: '2' 
services: 

    codeception: 
    image: codeception/codeception:2.3.5 
    depends_on: 
     - nginx-web 
     - php-web 
     - chrome 

    nginx-web: 
    image: 
     nginxext:0.5.6 
    depends_on: 
     - php-web 
    expose: 
     - 80 

    php-web: 
    image: 
     phpext:0.7.0 
    expose: 
     - 9000 

    # https://github.com/SeleniumHQ/docker-selenium 
    chrome: 
    image: selenium/standalone-chrome-debug:3.7.1 
    ports: 
     - 4444 
     - 5900 

私が間違っていることは何ですか?

答えて

1

私はようやくそれを見つけました。ちょうどURLを使ってネット上のさまざまな説明を与えられた私は、私もホストとURLを設定していると思った。しかし実際にはホストとURLを別々に設定する必要があります。だから解決策は、ホストと一緒にセレンブラウザのサービス名を追加することです。

 - WebDriver: 
      url: http://localhost/  # url of app 
      browser: chrome 
      host: chrome    # selenium server host, default 127.0.0.1 
#   port: 4444     # selenium server port, default 4444 
#   window_size: maximize  # or 640x480 
+0

「ホスト」の値が 'chrome'ですか?代わりに 'localhost'を使うべきだと思います。 –

+0

はい、私の環境に合っています。私はドッカーのコンテナでdocker-compose.ymlを実行しています。私はサービス "chrome"を呼び出します。 – TheRealPir

+0

ああ、そうです。 (y) –

関連する問題