我可以在单机上使用硒网格吗
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
【讨论】:
以上是关于我可以在单机上使用硒网格吗的主要内容,如果未能解决你的问题,请参考以下文章