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

时间:2015-07-23 23:48:39

标签: java selenium selenium-webdriver automated-tests selenium-grid

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

4 个答案:

答案 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中类似。

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

但回答你的问题是的,你可以。您可以在同一台计算机上运行集线器和节点,如果您想要这样做,请对其进行测试。