2016-04-21 16 views
10

Kroki Brałem już
1. pobierane i instalowane Docker Toolbox dla Windows
terminali 2. Otwórz Docker Szybki
3. Zgłaszający poniżej poleceń do ściągania obrazów Döcker z dockerhub i uruchomić je
docker pull selenium/hub
docker pull selenium/node-chrome
docker pull selenium/node-firefox
docker run -d -P \--name hub selenium/hub
docker run -d --link hub:hub -P \--name chrome selenium/node-chrome
docker run -d --link hub:hub -P \--name firefox selenium/node-firefoxJak skonfigurować siatkę selenu za pomocą okna dokowanego?

Wygląda na to, że działa po wpisaniu docker logs hub, ale nie mogę przeprowadzić testów do adresu koncentratora na maszynie wirtualnej Vbox przy użyciu seleniumAddress w pliku conf.js lub wyświetlić go przy użyciu http://ipAddress:4444/grid/console.

Idealnie chciałbym użyć tego zestawu, aby rozszerzyć ilość równoległych instancji testowych, które mogę uruchomić.

Odpowiedz

6

Niestety selen doker obraz może być broken since 4 days ago ale można spróbować swoich alternative one:

  1. Pull obraz i uruchomić dowolną liczbę pojemników, jak trzeba

    docker pull elgalu/selenium 
    
    docker run -d --name=grid4 -p 4444:24444 -p 5904:25900 \ 
        -v /dev/shm:/dev/shm -e VNC_PASSWORD=hola elgalu/selenium 
    
    docker run -d --name=grid5 -p 4445:24444 -p 5905:25900 \ 
        -v /dev/shm:/dev/shm -e VNC_PASSWORD=hola elgalu/selenium 
    
    docker run -d --name=grid6 -p 4446:24444 -p 5906:25900 \ 
        -v /dev/shm:/dev/shm -e VNC_PASSWORD=hola elgalu/selenium 
    
  2. Odczekać, aż cała siatki rozpoczęły się poprawnie przed rozpoczęciem testów (opcjonalnie, ale zalecane)

    docker exec grid4 wait_all_done 30s 
    docker exec grid5 wait_all_done 30s 
    docker exec grid6 wait_all_done 30s 
    

Po tym, Selen powinien być uruchomiony pod numerem http://localhost:4444/wd/hub. Otwórz adres URL w przeglądarce, aby potwierdzić, że jest uruchomiony. Jeśli używasz komputera Mac (OSX) lub Microsoft Windowslocalhost nie będzie działać! Znajdź prawidłowy adres IP poprzez boot2docker ip lub docker-machine ip default.

więc ustawić port selenu odpowiednio dla każdego testu:

  • 1-ty test powinien połączyć się http://ipAddress:4444/wd/hub
  • 2. teście do http://ipAddress:4445/wd/hub
  • 3. testu do http://ipAddress:4446/wd/hub

Można uruchomić tyle, ile może zabrać twój sprzęt.

+1

To było wspaniałe, jeden problem, że może mieć z poprzedniej próbie był używałem adres IP pochodzący z bali Döcker zamiast mojego doker maszynowym ip. Zamierzam użyć tego na razie i być może powrócę do normalnego obrazu w doku w ciągu kilku dni. Jeszcze raz dziękuję za wyjaśnienie. – sonhu

+1

To powinno zostać naprawione zgodnie z tym problemem: https://github.com/SeleniumHQ/docker-selenium/issues/208 – joelnb

3

Spójrz na Protractor Cookbook w/ Docker. Instrukcje są wyświetlane krok po kroku za pomocą selenu-grid i komponowania dockera. Docker-selen issue #208 został naprawiony.

Więc trzeba rozbierać najnowsze obrazy *:

docker pull selenium/hub:latest 
docker pull selenium/node-chrome-debug:latest 

Start Oferty siatka selen:

docker run -d -p 4444:4444 --name selenium-hub selenium/hub:latest 

Następnie dodać węzły selenu. Chciałbym użyć wersji chrome-debug i firefox-debug do VNC do obejrzenia testów.

docker run -d -p <port>:5900 --link selenium-hub:hub selenium/node-chrome-debug:latest 

Po połączeniu siatkę selenu, powinno to wystarczyć, aby uruchomić test Kątomierz pomocą seleniumAddress: 'http://localhost:4444/wd/hub'.

Do debugowania, znajduje się port VNC do pojemnika z:

docker port <container-name or container-id> 5900 

i do niego dostęp przez VNC Viewer.

Uwaga:

  • W chwili pisania tego tekstu, „ostatni” wydaje się być przywiązane do ~ 2.53.1 wersji serwera selenu. Począwszy od modelu Protractor 4.0.11 (najnowsza wersja programu Protractor), jest to obsługiwana wersja, która powinna być używana. Zauważ, że instrukcje na Selenium-docker GitHub wydają się być dostosowane do serwera selenu 3.0.1.
0

Możesz skorzystać z poniższego komponować plik konfiguracji sieci i dostęp przez VNC

** #, aby wykonać ten doker-komponować użycie plików yml doker-komponować -f się

** # Dodać "-d" flag na końcu dla deattached wykonanie ****

version: '2' 
services: 
    firefoxnode: 
    image: selenium/node-firefox-debug 
    volumes: 
     - /dev/shm:/dev/shm 
    depends_on: 
     - hub 
    environment: 
     HUB_HOST: hub 
    ports: 
     - "32772:5900" 

    chromenode: 
    image: selenium/node-chrome-debug 
    volumes: 
     - /dev/shm:/dev/shm 
    depends_on: 
     - hub 
    environment: 
     HUB_HOST: hub 
    ports: 
     - "32773:5900" 

    hub: 
    image: selenium/hub 
    ports: 
     - "4444:4444" 

polecenia używam:

docker-compose -f .\docker-compose.yml up -d 

Źródło:

https://github.com/SeleniumHQ/docker-selenium