网站的微信推广怎么做,wordpress centos安装,WordPress网站转APP插件,网站开发项目需求分析书传统 Selenium Grid 的搭建方法
搭建一个具有 1 个 Node 的 Selenium Grid。那么通常来讲我们需要 2 台机器#xff0c;其中一台作为 Hub#xff0c;另外一台作为 Node#xff0c;并要求这两台机器已经具备了 Java 执行环境。
1.通过官网下载 selenium-server-standalone-…传统 Selenium Grid 的搭建方法
搭建一个具有 1 个 Node 的 Selenium Grid。那么通常来讲我们需要 2 台机器其中一台作为 Hub另外一台作为 Node并要求这两台机器已经具备了 Java 执行环境。
1.通过官网下载 selenium-server-standalone-.jar 文件。这里需要注意的是不管是 Hub 还是Node都使用同一个 JAR 包启动只是启动参数不同而已。 2.将下载的 selenium-server-standalone-.jar文件分别复制到两台机器上. 3.选定其中一台机器作为 Selenium Hub并在这台机器的命令行中执行以下命令
java -jar selenium-server-standalone-version.jar -role hub在这条命令中“-role hub”的作用是将该机器启动为 Selenium Hub。启动完成后这台机器默认对外提供服务的端口是 4444。 然后你就可以在这台机器上通过http://localhost:4444/grid/console观察 Selenium Hub 的状态也可以在其他机器上通过 http://:4444/grid/console 观察 Selenium Hub 的状态。其中 是这台 Selenium Hub 机器的 IP 地址。由于此时还没有 Node 注册到该 Hub 上所以你看不到任何的 Node 信息。 启动过程和状态信息分别如图所示。 4.在另一台作为 Selenium Node 的机器上执行以下命令
java -jar selenium-server-standalone-version.jar -role node -hub http:// Hub_IP:4444/grid/register这条命令中“-role node”的作用是将该机器启动为 Selenium Node并且通过“-hub”指定了 Selenium Hub 的节点注册 URL。 执行成功后你可以再次打开 http://:4444/grid/console 观察 Selenium Hub 的状态。此时你可以看到已经有一个 Node 挂载到了 Hub 上。这个 Node就是用来实际执行测试的机器了。并且这个 Node 上已经缺省提供了 5 个 Firefox 浏览器的实例、5 个 Chrome 浏览器的实例和 1 个 IE 浏览器的实例同时默认允许的并发测试用例数是 5 个。 如果你想自己配置这些内容可以在启动 Node 的时候提供不同的启动参数。具体可以指定哪些参数你可以参考Selenium Grid的官方文档。 Node启动过程 Hub端Node注册的过程 5.完成上述操作后在测试用例中通过以下代码将测试指向 Selenium Hub然后由 Selenium Hub 完成实际测试执行机的分配与调度工作。其中最关键的部分是创建 RemoteWebDriver 实例的第一个参数这个参数不再是一个具体的测试执行机的 IP 地址或者名字了而是 Selenium Hub 的地址。
DesiredCapabilities capability DesiredCapabilities.firefox();
WebDriver driver new RemoteWebDriver(new URL(http://Hub_IP:4444/wd/hub), capability);基于 Docker 的 Selenium Grid 的搭建方法
#创建了Docker的网络grid
$ docker network create grid#以Docker容器的方式启动Selenium Hub并且对外暴露了4444端口
$ docker run -d -p 4444:4444 --net grid --name selenium-hub selenium/hub:3.14.0-europium#以Docker容器的方式启动并挂载了Chrome的Selenium Node
$ docker run -d --net grid -e HUB_HOSTselenium-hub -v /dev/shm:/dev/shm selenium/node-chrome:3.14.0-europium#以Docker容器的方式启动并挂载了Firefox的Selenium Node
$ docker run -d --net grid -e HUB_HOSTselenium-hub -v /dev/shm:/dev/shm selenium/node-firefox:3.14.0-europium