如何在 Selenium Grid 中支持多个 environments/DNS?

How to support multiple environments/DNS in Selenium Grid?

我有一套 运行 在 Selenium 网格上的自动化测试。我现在需要 运行 在多个环境(QA、阶段、生产)中进行这些测试。将使用不同的 DNS 服务器为每个环境设置环境。所以针对 QA 环境的测试应该使用 QA DNS,Stage 测试应该使用 Stage DNS 等等

理想情况下,我希望我的测试套件(在 Jenkins 中 运行s 并接受目标环境的参数)能够告诉网格分配一个节点,将其 DNS 服务器设置为(无论如何),运行 测试,然后将 DNS 服务器恢复到它找到它们的方式。

我在 Selenium 的文档中没有看到任何关于更改单个节点上的 DNS 设置的内容。我还尝试寻找可以处理此问题的浏览器功能,但也没有运气。实现这一目标的最简洁方法是什么?

编辑:切换 DNS 服务器的要求是一项新要求,因此目前没有合适的方法(手动或自动)来执行此操作。在使用这种基于 DNS 的环境区分方法之前,我们使用特定于环境的主机文件,并使用在每个节点上侦听主机文件切换请求的自定义服务在它们之间切换。我们可能必须创建一个类似的服务来切换 DNS 设置,但我希望有更多的东西 "official"。

我们通过为每个环境设置代理服务器并将代理服务器配置为使用 environment-specific DNS 设置来解决此问题。 Selenium 允许在单个节点上设置代理,因此这是一种以编程方式修改这些设置的方法。