selenium - 在 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 的作用。
如果有人能在这个话题上照亮我,那将非常有帮助。
解决方案
这取决于您要测试的浏览器。您目前只能与 Chrome 和 Firefox 直接连接。请参阅此处的文档 directConnect 基本上意味着您不需要 selenium 服务器来为您执行浏览器命令。但是,如果您需要针对 Internet Explorer、Edge、Safari 运行测试,您将需要一个 Selenium 服务器。
当您运行多个功能时,还需要考虑性能。当您有一台仅运行 selenium 服务器的专用机器时,您可以将所有繁重的工作卸载到该机器上。
此外,有越来越多的 seleniumServer 提供者可以让您自由选择要测试的浏览器。(浏览器堆栈,Saucelabs)
此外,它还为使用诸如 highlightDelay 之类的标志运行测试提供了更多选项。
推荐阅读
- slider - Jetpack Compose 更改滑块拇指大小
- javascript - 如何使用css增加div的高度?
- docker - jenkins 运行 docker 命令获取权限被拒绝
- javascript - 如何使用 SocketIO 向特定房间广播
- reactjs - ReactJS - 我收到错误“r Invariant failed - not use outside a
" - 这发生在一个页面中,而不是其他页面 - python - 如何检测有效负载中缺少特定字段并通过Django中的异常进行处理?
- php - 关于 php 中的 iterator_count 的困惑
- docker - Visual Studio Code 不从 Docker 桌面启动
- python - pandas merge() 将 int 转换为 float
- javascript - Solana 转账金额 null