首页 > 解决方案 > 在 Protractor 中使用 Selenium 服务器

问题描述

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

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

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

如果有人能在这个话题上照亮我,那将非常有帮助。

标签: seleniumselenium-webdriverprotractorselenium-chromedriver

解决方案


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

当您运行多个功能时,还需要考虑性能。当您有一台仅运行 selenium 服务器的专用机器时,您可以将所有繁重的工作卸载到该机器上。

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

此外,它还为使用诸如 highlightDelay 之类的标志运行测试提供了更多选项。


推荐阅读