在 Protractor 中使用 Selenium 服务器

Use of Selenium Server in Protractor

我研究过 Selenium WebDriver 和 Protractor 体系结构,并尝试比较这些体系结构。到目前为止我所了解的是,Protractor 是一个 NodeJs 应用程序,它在后台使用 javascript Selenium WebDriver 的包装器,即 WebDriverJs,主要针对 angular 应用程序;但它也可以用于非 angular 应用程序。

在学习 Selenium WebDriver 的过程中,我了解到并不总是需要 Selenium Standalone Server。只有当测试在不同的机器上编写并且浏览器的命令在不同的机器上执行时,它才会出现在图片中。因此,如果我们在我们的机器上编写测试脚本并且我们打算使用同一台机器上的浏览器,那么 Selenium WebDriver 就足够了,它可以在不需要 Selenium 服务器的情况下与浏览器驱动程序进行本地通信。

对于量角器,它说我们主要需要使用'Selenium Server'。我不知道它的原因。不清楚Selenium Server的作用

如果有人能就此主题向我提供帮助,那将非常有帮助。

基本上,Selenium 服务器负责 运行 您在 node/client 机器上的测试。服务器是集线器,客户端计算机作为节点机器向集线器注册以处理测试。在 Protractor 的上下文中,它是 Selenium WebDriver 的包装器。

如果您是 运行 集线器和节点,而不是 运行 本地,

"Selenium Server" 实际上只是您的测试环境。

希望对您有所帮助。

这取决于您要测试的浏览器。您目前只能直接连接 Chrome 和 Firefox。 查看文档 here directConnect 基本上意味着您不需要 selenium 服务器来为您执行浏览器命令。 但是,如果您需要说 运行 针对 Internet Explorer、Edge、Safari 的测试,您将需要一个 Selenium 服务器。

当您 运行 多个功能时,还有性能考虑因素。当你有一台只有 运行 硒服务器的专用机器时,你可以将所有繁重的工作卸载到那台机器上。

此外,有越来越多的 seleniumServer 提供者可以让您自由选择要测试的浏览器。 (浏览器堆栈、Saucelabs)

它还为 运行使用 highlightDelay 等标志对 exmaple 进行测试提供了更多选项。