докер это вопрос перпендикулярный к окружению dev/stage, потому что бекенд в докере фактически может подниматься в любом из окружений, используя разные файлы конфигурации.
В моем текущем проекте устроено так: веб тесты во время их разработки гоняются на локалхосте (моя рабочая машина, на которой также запускается бекенд), после создания Pull Request в основную ветку проекта, тесты запускаются по триггеру на это событие в CI, на CI агенте используется конфиг docker-compose (он несколько отличается от локального конфига, но аналогично поднимает сервер на агенте).
Если вам интересна исключительно ситуация, когда есть какой-то общий тестовый контур, например персистентные агенты на которых крутится dev / staging бекенд, то в таком случае думаю стоит рассмотреть такой вопрос:
- ваши веб тесты активно меняют базу? (например, это могут быть скрипты миграции по накатке тестовых данных \ их очистка)
- ваши тесты всегда создают уникальные тестовые данные? как несколько запущенных тестовых сессий смогут работать в параллели? как отработают 2 теста, где один удаляет данные корректного юзера, а другой пытается к ним обратиться?
- истощается ли ваша база \ переполняется ли при N прогонов тестов (наиболее вероятно, что тестируемость от этого может пострадать), если вы используете настоящие данные базы из снепшота с продакшн базы.
- как часто предполагается делать restore операции базы? предполагается ли фейловер чтобы не терять доступность данных для контура?
вот то окружение, которое умеет решать эти вопросы и будет более предпочтительным для прогона веб тестов. выбор контура окружения станет проще, когда тесты не гонятся в параллели.
в конце концов, дев\стейдж это всего лишь тэги стадий разработки, а ответы от WEB UI тестов могут быть полезными в самом начале разработки, нет смысла их откладывать на самый конец, если вы не ужаты в ресурсах на прогоны тестов и мощности.