我可以在单机上使用硒网格吗

Posted

技术标签:

【中文标题】我可以在单机上使用硒网格吗【英文标题】:can i use selenium grid on single machine 【发布时间】:2015-10-14 12:04:00 【问题描述】:

我的工作没有多台机器。我有一个窗口和一个 mac 用于脚本执行。我想知道是否可以使用硒网格在单台机器上执行脚本。我从未使用过硒网格。非常感谢任何文章、链接或建议。

【问题讨论】:

【参考方案1】:

是的,您可以在单台机器上启动具有多个节点的 selenium 网格,但 RAM 应至少为 8GB,因为它将运行具有超过 4 个浏览器实例的测试套件,如果浏览器未关闭,则需要更多 RAM。 http://selenium-release.storage.googleapis.com/index.html 下载独立jar。

java -jar selenium-server-standalone-2.45.0.jar -role hub 

它将启动集线器。

要启动节点,请打开不同的 cmd 并键入以下命令以启动“n”个节点。命令如下:

java -jar lib/selenium-server-standalone-2.43.1.jar -role node  -hub http://localhost:4444/grid/register -port 5555

java -jar lib/selenium-server-standalone-2.43.1.jar -role node  -hub http://localhost:4444/grid/register -port 6666

java -jar lib/selenium-server-standalone-2.43.1.jar -role node  -hub http://localhost:4444/grid/register -port 7777

如果您想在不同的浏览器中运行相同的测试用例,请下载浏览器驱动程序here

运行以下命令启动不同的浏览器: 例如:

java -jar selenium-server-standalone-2.45.0.jar -role webdriver -hub http://localhost:4444/grid/register -Dwebdriver.chrome.driver=C:\Users\xyz\Desktop\chromedriver.exe

java -jar selenium-server-standalone-2.45.0.jar -role webdriver -hub http://localhost:4444/grid/register -port 6666 -Dwebdriver.chrome.driver=C:\Users\xyz\Desktop\chromedriver.exe.

这将启动 chrome 浏览器和节点。

【讨论】:

【参考方案2】:

你可以但不确定你为什么会。如果您想在单台机器上执行,您可以继续为不同的浏览器创建 Web 驱动程序的多个实例并实现这一目标。恕我直言,网格的全部目的是在具有不同浏览器、操作系统等的节点之间分配负载..

但是要回答您的问题,您可以。您可以在同一台机器上运行集线器和节点并测试它是否是您想要做的。

【讨论】:

【参考方案3】:

您还可以使用 Docker 在本地运行网格。 Selenium 为 Ubuntu 上的集线器、Chrome 和 Firefox 提供图像。

【讨论】:

【参考方案4】:

是的,您可以在单台机器上使用设置 Selenium Grid。可以从此下载link下载jar文件

下载后,使用以下命令启动集线器:

java -jar selenium-server-standalone-2.46.0.jar -role hub

然后使用以下命令向它注册节点:

java -jar selenium-server-standalone-2.46.0.jar -role node -hub http://localhost:4444/grid/register

更多信息请参考以下链接,这里的示例是使用 Ruby 的单机场景,但在 java 中类似。

http://elementalselenium.com/tips/52-grid

【讨论】:

以上是关于我可以在单机上使用硒网格吗的主要内容,如果未能解决你的问题,请参考以下文章

历元 - 并行执行(网格)

使用 Robot 框架实现 Selenium 网格

MFC 有内置的网格控件吗?

在编辑主网格行时,rowBody 刷新丢失内部网格。 extjs 3..我可以重新渲染内部网格..吗?

硒;如何运行多个实例并维护不同的会话

您在设计网页时使用网格系统吗?