Запуск тестов selenium с использованием drupalextension внутри контейнеров ddev docker

Запуск тестов selenium с использованием drupalextension внутри контейнеров ddev docker

26.07.2018 12:07:13 Просмотров 51 Источник

Только что получил помощь от rfay на Drupal slack, и хотел опубликовать как проблему, так и решение здесь для справки других.

Проблема: получить DrupalExtension на основе тестирования, работающего внутри контейнеров ddev. Это включает добавление отдельного контейнера selenium в существующую конфигурацию и возможность ссылаться на контейнер веб-узла.

У вопроса есть решение - Посмотреть?

Ответы - Запуск тестов selenium с использованием drupalextension внутри контейнеров ddev docker / Running selenium tests using drupalextension inside ddev docker containers

Является ответом!
Aron

26.07.2018 12:08:51

Предварительные требования: иметь рабочий экземпляр ddev, размещающий Drupal. Уже есть примеры, чтобы настроить это, поэтому я не буду повторять это здесь.

Вышеуказанная задача требовала следующих дополнений:

  • селен контейнер: контейнер работает селен. Я использовал автономную версию chrome. Добавьте следующее к вашему .папка ddev:

Файл: докер-сочинять.селен.в формате YML

version: '3.6'

services:
  selenium:
    container_name: ddev-${DDEV_SITENAME}-selenium
    image: selenium/standalone-chrome-debug:3.13.0-argon
    networks:
      default:
        aliases:
          - web

Последний бит имеет решающее значение; контейнер selenium должен знать о веб-контейнере, в котором запущен экземпляр drupal, чтобы подключиться к нему, но поскольку он является зависимостью веб-контейнера, вы не можете использовать "ссылки". Вы должны использовать подход псевдонимов, используя сеть по умолчанию.

  • сочинять переопределить: файл переопределения значений по умолчанию для веб-контейнеру, чтобы связать селен контейнер к нему.

Файл: докер-сочинять.переопределение.в формате YML

version: '3.6'

services:
  web:
    depends_on:
      - db
      - selenium
    links:
      - db:db
      - selenium:selenium
  • Конфигурация Behat: следующая конфигурация Behat для MinkExtensionработала для меня:

(изменить файл behat.в формате YML)

default:
  extensions:
    "Behat\\MinkExtension":
      goutte: null
      base_url: 'http://web'
      javascript_session: selenium2
      selenium2:
        browser: "chrome"
        wd_host: http://selenium:4444/wd/hub
        capabilities:
          extra_capabilities:
            idle-timeout: 50

base_urlи wd_hostимели решающее значение для получения этой работы.

Для получения дополнительной информации о последних см. В описании шага 5 в drupalextension документы

https://stackoverflow.com/questions/51527663/running-selenium-tests-using-drupalextension-inside-ddev-docker-containers/51527682#comment96088348_51527682
Спасибо! С этим мне удалось настроить тестирование codeception с selenium для приложения CakePHP.
https://stackoverflow.com/questions/51527663/running-selenium-tests-using-drupalextension-inside-ddev-docker-containers/51527682#comment102338247_51527682
Связанный ресурс: интеграция Acquia blt
https://stackoverflow.com/questions/51527663/running-selenium-tests-using-drupalextension-inside-ddev-docker-containers/51527682#comment103507078_51527682
Правильный ответ все еще действителен или он изменился в чем-то о том, как настроить ddev drupal с behat selenium?
Закрыть X