Ответы пользователя по тегу Docker
  • Почему ChromeDriver пытается открыть сайт через https?

    hanas
    @hanas Автор вопроса
    Строю мосты, воспитываю дочь
    Как писали в одной притче из
    Корана
    Если гора не идет к Магомету, то Магомет идет к горе

    Решение оказалось проще чем я думал. Я заменил стандартный встроенный в PHP веб сервер на mpyw/php-hyper-builtin-server

    docker-compose.yml
    version: "3"
    
    services:
      app:
        image: php:latest
        volumes:
          - ./:/app
        working_dir: /app
        command: vendor/bin/hyper-run -s 0.0.0.0:8080
        depends_on:
          - selenium-hub
    
      selenium-hub:
        image: selenium/hub:3.141.59-mercury
        depends_on:
          - chrome
        ports:
          - 4444:4444
    
      chrome:
        image: selenium/node-chrome:3.141.59-mercury
        volumes:
          - /dev/shm:/dev/shm
        environment:
          - HUB_HOST=selenium-hub
          - HUB_PORT=4444
    Ответ написан
    Комментировать
  • Почему codeception не видит сайт который я хочу протестировать?

    hanas
    @hanas Автор вопроса
    Строю мосты, воспитываю дочь
    В _output есть скриншот:
    LoginCept.fail.png
    5ca5b090dfa62419491061.png


    Доступы из контейнера chrome в контейнер app есть. Проверяю это так:

    1. Запускаю внутри контейнера app сервер:
    лог
    root@86338ec46fc5:/app# php -S 0.0.0.0:8080
    PHP 7.2.16 Development Server started at Thu Apr  4 07:34:54 2019
    Listening on http://0.0.0.0:8080
    Document root is /app
    Press Ctrl-C to quit.
    [Thu Apr  4 07:35:20 2019] 192.168.96.6:33978 [302]: /backend/web/index-test.php



    2. Из контейнера chrome через curl дергаю ссылку:
    лог
    $ curl -v http://app:8080/backend/web/index-test.php
    *   Trying 192.168.96.2...
    * TCP_NODELAY set
    * Connected to app (192.168.96.2) port 8080 (#0)
    > GET /backend/web/index-test.php HTTP/1.1
    > Host: app:8080
    > User-Agent: curl/7.58.0
    > Accept: */*
    > 
    < HTTP/1.1 302 Found
    < Host: app:8080
    < Date: Thu, 04 Apr 2019 07:35:20 +0000
    < Connection: close
    < Set-Cookie: PHPSESSID=7adf9d523ff4accb0582863749bef1e3; path=/; HttpOnly
    < Expires: Thu, 19 Nov 1981 08:52:00 GMT
    < Cache-Control: no-store, no-cache, must-revalidate
    < Pragma: no-cache
    < Location: http://app:8080/backend/web/index-test.php/sign-in/login
    < Content-Type: text/html; charset=UTF-8
    < X-Debug-Tag: 5ca5b3b854264
    < X-Debug-Duration: 1,064
    < X-Debug-Link: /backend/web/index-test.php/debug/default/view?tag=5ca5b3b854264
    < 
    * Closing connection 0



    Но когда запускаю codeception в контейнере app вижу следующее:
    лог
    root@86338ec46fc5:/app# php -S 0.0.0.0:8080
    PHP 7.2.16 Development Server started at Thu Apr  4 07:34:54 2019
    Listening on http://0.0.0.0:8080
    Document root is /app
    Press Ctrl-C to quit.
    [Thu Apr  4 07:36:53 2019] 192.168.96.8:38440 Invalid request (Unsupported SSL request)
    [Thu Apr  4 07:36:53 2019] 192.168.96.8:38442 Invalid request (Unsupported SSL request)
    [Thu Apr  4 07:36:53 2019] 192.168.96.8:38444 Invalid request (Unsupported SSL request)
    [Thu Apr  4 07:36:53 2019] 192.168.96.8:38446 Invalid request (Unsupported SSL request)



    Вот лог самого теста:
    лог
    Tests\backend.acceptance Tests (5) -------------------------
    Modules: WebDriver, Yii2, \tests\common\_support\FixtureHelper
    ------------------------------------------------------------
    LoginCept: Ensure login page works
    Signature: LoginCept
    Test: acceptance/LoginCept.php
    Scenario --
     tests\backend\_pages\LoginPage: open by "tests\\backend\\AcceptanceTester"
       I am on page "/sign-in/login"
      [GET] http://app:8080/backend/web/index-test.php/sign-in/login
     I am going to submit login form with no data
     tests\backend\_pages\LoginPage: login "",""
       I fill field "input[name="LoginForm[username]"]",""
      [Selenium server Logs] 
      08:02:15.736 INFO - Capabilities are: {
        "browserName": "chrome",
        "goog:chromeOptions": {
        }
      }
      08:02:15.768 INFO - Matched factory org.openqa.selenium.grid.session.remote.ServicedSession$Factory (provider: org.openqa.selenium.chrome.ChromeDriverService)
      08:02:17.202 INFO - Detected dialect: OSS
      08:02:17.503 INFO - Started new session 3956a248302db45cab3b61fbe7f27708 (org.openqa.selenium.chrome.ChromeDriverService)
      
      [Selenium browser Logs]  EMPTY 
      [Selenium driver Logs]  EMPTY 
      Screenshot and page source were saved into '/app/tests/backend/_output/' dir
     FAIL

    Ответ написан
    Комментировать