【发布时间】:2015-10-14 12:04:00
【问题描述】:
我的工作没有多台机器。我有一个窗口和一个 mac 用于脚本执行。我想知道是否可以使用硒网格在单台机器上执行脚本。我从未使用过硒网格。非常感谢任何文章、链接或建议。
【问题讨论】:
标签: java selenium selenium-webdriver automated-tests selenium-grid
我的工作没有多台机器。我有一个窗口和一个 mac 用于脚本执行。我想知道是否可以使用硒网格在单台机器上执行脚本。我从未使用过硒网格。非常感谢任何文章、链接或建议。
【问题讨论】:
标签: java selenium selenium-webdriver automated-tests selenium-grid
是的,您可以在单台机器上启动具有多个节点的 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 浏览器和节点。
【讨论】:
你可以但不确定你为什么会。如果您想在单台机器上执行,您可以继续为不同的浏览器创建 Web 驱动程序的多个实例并实现这一目标。恕我直言,网格的全部目的是在具有不同浏览器、操作系统等的节点之间分配负载..
但是要回答您的问题,您可以。您可以在同一台机器上运行集线器和节点并测试它是否是您想要做的。
【讨论】:
您还可以使用 Docker 在本地运行网格。 Selenium 为 Ubuntu 上的集线器、Chrome 和 Firefox 提供图像。
【讨论】:
是的,您可以在单台机器上使用设置 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 中类似。
【讨论】: