如何在Windows上使用docker设置selenium网格?

son*_*nhu 12 selenium docker protractor

我已经采取的步骤
1. 已下载并安装了适用于Windows的Docker Toolbox
2.打开Docker Quickstart终端
3.输入以下命令从dockerhub中提取docker镜像并运行它们
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-firefox

它在我输入时似乎正在运行docker logs hub但我无法使用seleniumAddress我的conf.js文件将我的测试路由到虚拟机VM上的集线器地址,或者使用http:// ipAddress:4444/grid/console查看它.

理想情况下,我想使用此设置来扩展我可以运行的并行测试实例的数量.

Leo*_*cci 6

不幸的是,selenium docker图片可能会在4天前破坏,但您可以尝试我的另一个:

  1. 拉动图像并根据需要运行多个容器

    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
    
    Run Code Online (Sandbox Code Playgroud)
  2. 等到所有网格在开始测试之前正确启动(可选但建议)

    docker exec grid4 wait_all_done 30s
    docker exec grid5 wait_all_done 30s
    docker exec grid6 wait_all_done 30s
    
    Run Code Online (Sandbox Code Playgroud)

在此之后,Selenium应该启动并运行http://localhost:4444/wd/hub.在浏览器中打开URL以确认它正在运行.如果您使用的是Mac(OSX)或Microsoft Windows localhost将无法正常工作!通过boot2docker ip或找出正确的IP docker-machine ip default.

因此,为每个测试设置相应的selenium端口:

  • 第一次测试应该连接到 http://ipAddress:4444/wd/hub
  • 第二次测试 http://ipAddress:4445/wd/hub
  • 第3次测试 http://ipAddress:4446/wd/hub

您可以运行尽可能多的硬件.