Selenium Grid 和本地运行

Selenium Grid and local runs

我有一个网格中心 运行 一些节点,网格 URL 存储在 c# 项目 App.Config 文件中。我的 App.Config 还指定了用于 运行 测试的浏览器。在 WebDriver 工厂 class 中,我使用适当的浏览器和功能创建了一个指向网格 URL 的 RemoteWebDriver 的新实例。

我的问题是,如果我想在本地 运行 我的测试并有时出于调试目的或其他原因绕过网格怎么办,我可以指定一个额外的 App.Config 键,比如 Local = true 或false,如果设置为 true,则不使用 RemoteWebDriver。有没有一种优雅的方式来提供这个功能? remotewebdriver 运行 可以在不使用网格的情况下在本地进行测试吗?我想避免必须创建额外的工厂并检查用户是否请求本地 运行。有人实施过类似的东西吗?

您无需避免使用 RemoteWebDriver 即可在本地进行 运行 测试。如果您在本地计算机上下载并 运行 selenium-server-standalone(相关配置也已完成,浏览器驱动程序可执行文件、PATH 变量等),您只需将测试指向本地集线器而不是远程集线器。

运行 独立模式下的 Selenium 服务器使用默认配置同时启动集线器和节点(可以通过命令行参数或 json 配置更改),但它非常适合无需在生产网格上 运行 即可调试测试。

Further Reading