硒网格操作软件



我像这里描述的那样运行selenium grid。
我有一个集线器,一个节点运行在一个虚拟机上,其他节点运行在其他虚拟机上。

当我进入http://hub:4444/grid/控制台时,我可以看到节点和配置,但很多时候我需要:

  • 重新启动整个网格
  • 重启节点
  • 添加节点
  • 删除节点

目前,我通过记录所有节点并手动重新启动/更改来做到这一点。这非常耗时,特别是当我需要重新启动整个网格时。

我的问题是,有没有一种软件可以让我定义机器,然后我能很快地做出这些改变。像网格操作/配置软件之类的东西,或者在这些场景中节省时间的最佳实践?

你可以研究一下,或者投资一下亚马逊的AWS。

如果您的selenium集线器端口(4444)向公众开放,则可以使用AWS API来启动具有启动批处理文件的实例,以便在启动时使用您的主机。java -jar server.jar -role node -hub http:hub:4444/grid/register

这也允许您启动X数量的实例,比如1000个,每台机器运行一个测试。您可能会在一小时内运行整个自动化回归套件。

当你有了一个坚实的系统,然后你可以通过命令行(或通过运行你的测试)启动,然后随心所欲地关闭实例,而不需要任何配置。

Selenium/Amazon
Amazon AWS
设置网格

附加材料


Selenium Grid EC2 AMI

一年前我们也遇到过同样的问题。我之前也问过类似的问题。如何维护Selenium Grid?Selenium Grid 2.0提供了一些集成这些特性的方法。

然而,我的组织实现了一些不同的东西。我们为网格维护创建了一些UI屏幕。步骤如下:

  1. 获取数据库表
  2. 中所有虚拟机的IP地址和DNS
  3. 创建Hub和RC虚拟机之间的映射
  4. 在所有虚拟机启动时放一个小java程序,它会在DB上查找它应该连接到哪个集线器,以及它应该使用什么浏览器配置进行连接。
  5. 创建用于在hub之间重新分配虚拟机的UI。UI的任何赋值都会重启VM,并触发启动脚本。

构建上述解决方案需要花费一些时间和精力,但在使用了一年之后,我觉得这是值得的。

Selenium Grid是您的测试基础设施,但听起来您需要在其之上添加一层来管理此基础设施。

我推荐使用Docker来管理你的网格。与传统的虚拟机设置相比,使用Docker有一些巨大的好处:

  1. Docker容器比VM的更轻量。每个节点的开销更少。

  2. Docker有许多内置的方法来快速创建网格,扩展或缩小节点,并快速重新启动整个网格。

  3. Docker容器都可以在一台机器上运行,所以有一个中心控制点。无需单独访问每个VM以进行故障排除或性能维护。

如果你想看一个例子,我最近在我的公司做了这件事,并写在这里:

http://www.conductor.com/nightlight/running-selenium-grid-using-docker-compose/

最新更新