我的工作中没有多台机器。我有一个窗口和一个mac用于脚本执行。我想知道我是否可以在单机上使用selenium网格来执行脚本。我从未使用过selenium网格。任何文章,链接或建议都非常感谢。
答案 0 :(得分:5)
是的,您可以在单台机器上启动多个节点的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浏览器和节点。
答案 1 :(得分:3)
是的,您可以在一台机器上使用设置Selenium Grid。您可以从此下载link
下载jar文件下载后,使用以下命令启动集线器:
foreach($dt_karyawan->result() as $row)
{
if($row->hubkel=='pegawai')
{
$query_pegawai = "select bk.no_kk as 'no_2' ....";
foreach($query_pegawai->result() as $data1)
{
echo '<tr align="center">';
echo '<td>'.$no.'</td>';
echo '<td>'.$kutip.$data1->no_2.'</td>';
.
.
}
}
if($row->hubkel=='istri')
{
.
.
.
}
}
然后使用以下命令向其注册节点:
java -jar selenium-server-standalone-2.46.0.jar -role hub
请参阅以下链接以获取更多信息,有关Ruby的单机方案的示例,但它在java中类似。
答案 2 :(得分:0)
您还可以使用Docker在本地运行网格。 Selenium为Ubuntu上的集线器,Chrome和Firefox提供图像。
答案 3 :(得分:0)
你可以但不确定为什么会这样。如果您想在一台机器上执行,您可以继续为不同的浏览器创建多个Web驱动程序实例并实现这一目标。恕我直言,网格的整个目的是在不同浏览器,操作系统等节点之间分配负载。
但回答你的问题是的,你可以。您可以在同一台计算机上运行集线器和节点,如果您想要这样做,请对其进行测试。