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

标签 selenium docker protractor

我已经采取的步骤
1. Docker Toolbox for windows下载安装
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 时它似乎正在运行,但我无法在我的 conf 中使用 seleniumAddress 将我的测试路由到 virtualbox VM 上的集线器地址。 js 文件或使用 http://ipAddress:4444/grid/console 查看它.

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

最佳答案

不幸的是,selenium docker 镜像可能是 broken since 4 days ago但你可以试试我的alternative one :

  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
    
  2. 等到所有网格正常启动后再开始测试(可选但推荐)

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

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

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

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

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

关于selenium - 如何在 Windows 上使用 docker 设置 selenium 网格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36773167/

相关文章:

testing - 如何将 Sikuli 脚本导出到 java?

python - 无法使用 headless chrome 定位网页上的元素

python - 将 Python 诗歌与 Docker 集成

docker - 将 WSL VSCode 扩展连接到安装在 Windows 中的 docker

c# - 为什么 Selenium InternetExplorerDriver Webdriver 在 Debug模式下非常慢(visual studio 2010 和 IE9)

javascript - jasmine.matchersUtil.equals 与 ===

azure - 使用 az acr build 时更改默认忽略规则

javascript - 在 AngularJS 中使用 Jasmine 测试元素数量

javascript - cucumber Protractor - 错误 : function timed out after 50000 milliseconds

selenium - 无法在 teamcity 的 Saucelabs 上启动 Protractor 测试