Запустите тест Selenium в контейнере Docker - PullRequest
0 голосов
/ 16 февраля 2019

У меня есть задача запустить тесты селена Python в докере.Сначала я запускаю Selenium grid с помощью docker-compose:

version: "3"
services:
  selenium-hub:
    image: selenium/hub:3.141.59-gold
    container_name: selenium-hub
    ports:
      - "4444:4444"
  chrome:
    image: selenium/node-chrome-debug
    volumes:
      - /dev/shm:/dev/shm
    depends_on:
      - selenium-hub
    environment:
      - HUB_HOST=selenium-hub
      - HUB_PORT=4444
    ports:
     - 4577
  firefox:
    image: selenium/node-firefox-debug
    volumes:
      - /dev/shm:/dev/shm
    depends_on:
      - selenium-hub
    environment:
      - HUB_HOST=selenium-hub
      - HUB_PORT=4444
    ports:
     - 4578

Затем я создаю контейнер, в который я устанавливаю pytest, и копирую свой тестовый фреймворк

FROM python:3.7-alpine3.8
COPY . . 

RUN pip install -r requirements.txt

# update apk repo
RUN echo "http://dl-4.alpinelinux.org/alpine/v3.8/main" >> /etc/apk/repositories && \
    echo "http://dl-4.alpinelinux.org/alpine/v3.8/community" >> /etc/apk/repositories

# install chromedriver
RUN apk update
RUN apk add chromium chromium-chromedriver

EXPOSE 3000

ENV PORT 3000

# install selenium
RUN pip install selenium==3.13.0

Затем я пытался запустить свой тестфайл внутри контейнера:

docker run 3ae7b37d8a7f pytest tests/basic_smoke_test.py --browser docker -v

A В результате я вижу сетевую ошибку:

urllib.error.URLError:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...