2016-04-21 28 views
10

bước tôi đã lấy đã
1. download và cài đặt Docker Toolbox for windows
2. Mở Docker Quickstart terminal
3. Bước vào bên dưới lệnh để kéo những hình ảnh Docker từ dockerhub và chạy chúng
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-firefoxLàm thế nào để bạn thiết lập lưới selen bằng cách sử dụng docker trên windows?

Dường như nó đang chạy khi tôi nhập docker logs hub nhưng tôi không thể định tuyến các thử nghiệm của mình đến địa chỉ của trung tâm trên VM ảo bằng cách sử dụng seleniumAddress trong tệp conf.js của tôi hoặc xem nó bằng cách sử dụng http://ipAddress:4444/grid/console.

Lý tưởng nhất là tôi muốn sử dụng thiết lập này để mở rộng số lượng các cá thể thử nghiệm song song mà tôi có thể chạy.

Trả lời

6

Thật không may là hình ảnh Docker selen có thể broken since 4 days ago nhưng bạn có thể thử tôi alternative one:

  1. Kéo hình ảnh và chạy vô vàn container như bạn cần

    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. Chờ cho đến khi tất cả các sự lưới bắt đầu đúng cách trước khi bắt đầu thử nghiệm (Tùy chọn nhưng được khuyến nghị)

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

Sau này, Selenium sẽ được thiết lập và chạy tại http://localhost:4444/wd/hub. Mở url trong trình duyệt của bạn để xác nhận nó đang chạy. Nếu bạn đang sử dụng Mac (OSX) hoặc Microsoft Windowslocalhost sẽ không hoạt động! Tìm hiểu IP chính xác qua boot2docker ip hoặc docker-machine ip default.

Vì vậy, thiết lập các cổng selen phù hợp đối với từng bài kiểm tra của bạn:

  • kiểm tra 1 nên kết nối với http://ipAddress:4444/wd/hub
  • thử nghiệm thứ 2 đến http://ipAddress:4445/wd/hub
  • thử nghiệm thứ 3 để http://ipAddress:4446/wd/hub

Bạn có thể chạy nhiều như phần cứng của bạn có thể mất.

+1

này làm việc rất lớn, một trong những vấn đề tôi có thể có với các nỗ lực trước đó tôi đã sử dụng địa chỉ IP lấy từ nhật ký Docker thay vì ip Docker máy của tôi. Tôi sẽ sử dụng điều này cho bây giờ và có thể di chuyển trở lại hình ảnh docker selenium bình thường trong một vài ngày. Một lần nữa cảm ơn bạn đã giải thích. – sonhu

+1

Điều này sẽ được khắc phục ngay bây giờ theo sự cố này: https://github.com/SeleniumHQ/docker-selenium/issues/208 – joelnb

3

Hãy xem qua số Protractor Cookbook w/ Docker. Các hướng dẫn được liệt kê từng bước bằng cách sử dụng selenium-grid và docker compose. Docker-selenium issue #208 đã được sửa.

Vì vậy, bạn sẽ cần phải kéo xuống những hình ảnh mới nhất *:

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

Bắt đầu lưới selen:

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

Sau đó, thêm các nút selen. Tôi thích sử dụng các phiên bản gỡ rối chrome và firefox-debug cho VNC để xem các bài kiểm tra.

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

Sau khi liên kết lưới selen, điều này là đủ để chạy thử nghiệm Thước đo bằng cách sử dụng seleniumAddress: 'http://localhost:4444/wd/hub'.

Để gỡ lỗi, tìm ra cổng VNC cho container với:

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

và truy cập nó thông qua VNC Viewer.

Lưu ý:

  • Tại thời điểm viết bài này, 'mới nhất' dường như được gắn với một 2.53.1 phiên bản ~ của máy chủ selen. Kể từ Protractor 4.0.11 (phiên bản mới nhất của Protractor), đây là phiên bản được hỗ trợ nên được sử dụng. Lưu ý rằng các hướng dẫn trên Selenium-docker GitHub có vẻ như được thiết kế riêng cho máy chủ selenium 3.0.1.
0

Bạn có thể sử dụng dưới đây soạn tập tin vào lưới thiết lập và truy cập thông qua VNC

** # Để thực hiện điều này Docker-soạn tập tin yml sử dụng Docker-soạn -f lên

** # Thêm "-d" cờ vào cuối để thực hiện deattached ****

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" 

lệnh tôi sử dụng:

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

Nguồn:

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

Các vấn đề liên quan