分类
文章

下载Selenium Grid并使用多个浏览器进行设置

您可能听说过诸如并行执行和分布式自动化之类的术语。前者提高了您处理负载的能力,而后者则通过将其卸载到多个节点上来提供支持。在Webdriver自动化中,正是Selenium Grid能够启用这两个功能。在本文中,我们将告诉您最简单的下载Selenium Grid的步骤,并逐步介绍其配置。此外,您还将了解如何为Selenium Grid设置集线器和节点。

稍后,在本文中,我们将进一步教您为多个浏览器配置节点以加快测试执行速度。您可能还想阅读我们的另一篇文章,其中介绍了Selenium Grid Webdriver代码以模拟测试执行。在那里,您将获得有效的Java代码以运行Selenium进行负载测试。

Selenium Gris确实是一个独特而强大的测试工具,可以通过将它们分布在多台计算机上来运行数千个测试。它不仅可以同时执行测试,而且可以利用不同的浏览器来运行测试。您甚至可以将其用于跨浏览器测试。因此,必须首先下载Selenium Grid并开始检查其影响,这一点至关重要。

一旦Selenium网格启动并运行,就无需等待很长时间才能完成自动化。它将以惊人的速度加快测试执行速度,以便您可以及时向开发团队提供反馈。另外,如果您精通Java编码,则可以更新项目以使用Selenium进行负载测试。现在让我们开始详细了解这个Selenium组件。

使用多个浏览器设置Selenium网格

什么是Selenium网格?

Selenium Grid是Selenium Suite的成员,专门从事跨不同的浏览器,操作系统和计算机并行运行多个测试。它基于中心节点概念。它指定所有测试应在称为集线器的单台计算机上运行,但要在称为节点的不同计算机上执行。

下载Selenium Grid并设置多个浏览器

 

使用Selenium网格的好处。
  • Selenium Grid允许同时针对不同的浏览器,操作系统和机器运行测试。
  • 这将确保您正在测试的应用程序与各种浏览器-OS组合完全兼容。
  • Selenium Grid节省了执行测试套件的时间。

 

什么是集线器和节点?

集线器。

  • 集线器是您加载要运行的测试的中心点。
  • 网格中应该只有一个集线器。
  • 该集线器仅在一台机器上启动,例如,装有OS Windows的计算机和诸如Chrome之类的浏览器。

节点。

  • 节点是Selenium实例,将执行您在集线器上加载的测试。
  • 网格中可以有一个或多个节点。
  • 可以在具有不同平台和浏览器的多台计算机上启动节点。
  • 运行节点的机器不一定具有与集线器相同的平台。

 

下载Selenium Grid并设置FF,IE和Chrome。

我们将在本节中以两台机器为例讨论Selenium Grid的设置。第一台计算机将是运行集线器的系统,而另一台计算机将运行一个节点。为方便起见,我们将通知集线器以”Machine A”运行的机器,而节点运行的机器为”Machine B”。

为了将机器设置为集线器或节点,我们必须在它们上运行一些命令。为此,我们应该记下两台计算机的IP地址。假设机器A的IP地址为192.168.1.6,而机器B的IP地址为192.168.1.7。

以下是逐步说明,可帮助您安装和下载Selenium Grid。

步骤1:下载Selenium Grid。

  • Selenium Grid内置于Selenium Standalone Server中。因此,要开始使用,我们需要从< http://docs.seleniumhq.org/download/>下载其最新版本。
  • 将Selenium Server .jar文件放在硬盘中的任何位置。让我们将其放入机器A和机器B的D驱动器中。这已经完成了Selenium Grid的安装。以下步骤将启动集线器和节点。

步骤2:设置集线器计算机。

  • 下载Selenium网格后,让我们设置集线器计算机。为此,移至中心机器A。打开命令提示符,然后导航到我们放置Selenium Server的目录。
  • 在命令提示符下,键入以下命令。
java -jar selenium-server-standalone-2.53.0.jar -role hub
  • 集线器已成功启动。您的命令提示符应类似于下图。

步骤3:启动集线器控制台。

我们可以使用浏览器来验证以上步骤中的集线器设置是否成功运行。默认情况下,Selenium Grid使用Machine A的端口4444作为其Web界面。打开浏览器,然后转到< http:// localhost:4444 / grid / console >。

要检查机器B是否可以通过启动浏览器来访问集线器的Web界面,请在浏览器中发送< http:// localhost:4444 / grid / console >命令。只需将此命令中的< localhost >替换为计算机A的IP地址。

步骤4:设置节点计算机。

  • 现在,我们已经成功设置了中心节点。现在,我们将设置节点机器。在计算机B上打开命令提示符。
  • 导航到我们放置Selenium Server的目录,然后键入以下命令。我们在命令中使用了IP地址192.168.1.6,因为集线器正在运行。我们使用端口5566;但是,我们可以使用其他任何免费的端口。
D:>java –jar selenium-server-standalone-2.53.0.jar -role webdriver –hub http://192.168.1.6:4444/grid/register -port 5566
  • 运行命令时,命令提示符应类似于下图。

步骤5:集线器控制台。

转到Selenium Grid Web界面并刷新页面。您应该会看到类似这样的内容。

完成此步骤后,可以说我们已经配置了一个简单的网格。现在,我们准备在机器B上远程运行测试。

您可以从上图检查在”浏览器”部分下是否显示5个Chrome,5个Firefox和1个IE浏览器。它表示默认情况下,我们最多可以使用5个Chrome,5个Firefox和1个IE浏览器。

要在”浏览器”部分中完善可用浏览器的列表 ,我们可以在注册节点时指定其他-browser参数。例如,如果我们只想扩展节点上仅Firefox浏览器的支持,可以通过提供-browser browserName = firefox来定义它,如下所示。

java -jar selenium-server-standalone-2.53.0.jar -role webdriver -hub http://192.168.1.6:4444/grid/register -browser browserName=firefox –port 5566

步骤6:启动Internet Explorer节点。

  • 要启动Internet Explorer节点,我们必须在节点计算机上下载Internet Explorer驱动程序。
  • 对于IE驱动程序,请导航至< http://docs.seleniumhq.org/download/ >并根据计算机的操作系统下载相应的文件。下载IE驱动程序后,解压缩Exe文件并将其放置在与Selenium独立服务器相同的文件夹中。
  • 打开命令提示符,然后导航到安装IE驱动程序的驱动器,然后键入以下命令以启动IE。
java –Dwebdriver.ie.driver=IEDriverServer.exe -jar selenium-server-standalone-2.53.0.jar -role webdriver -hub http://192.168.1.6:4444/grid/register -browser browserName=ie –port 5568

步骤7:

执行命令后,返回集线器。导航到URL – < http:// localhost:4444 / grid / console >,集线器现在将显示与其连接的IE节点。

步骤8:启动Chrome节点。

要下载Chrome驱动程序,请导航至< http://docs.seleniumhq.org/download/ >,然后导航至”第三方浏览器驱动程序”区域,然后单击版本号< 2.22 >,如下所示。

步骤9:根据节点计算机上的操作系统架构下载驱动程序。

下载Chrome驱动程序后,解压缩Exe文件并将其放置在与Selenium独立服务器相同的文件夹中。

打开命令提示符,然后导航到安装了Chrome驱动程序的驱动器,然后键入以下命令以启动Chrome。

java –Dwebdriver.chrome.driver=chromedriver.exe -jar selenium-server-standalone-2.53.0.jar -role webdriver -hub http://192.168.1.6:4444/grid/register -browser browserName=chrome –port 5567

步骤10:

执行命令后,返回集线器。导航到URL – < http:// localhost:4444 / grid / console >,集线器现在将显示与其连接的Chrome节点。

 

Selenium网格参数。

我们可以在运行时使用许多这样的参数。让我们在这里讨论其中一些可选参数

基本级别参数。

  • port 4444 (默认为4444)。
  • host<IP | hostname>指定主机名或IP。通常不需要,因为它是自动确定的。对于具有VPN网络的配置,可能需要指定主机。
  • timeout 30(默认为300)是超时,以秒为单位,在集线器自动释放没有收到超过指定秒数的任何请求的节点之前。在这段时间之后,该节点将被释放以进行队列中的另一项测试。这有助于清除客户端崩溃,而无需人工干预。要完全删除超时,请指定-timeout 0,并且集线器将永远不会释放该节点。
  • maxSession 5(默认为5)可以在节点上并行运行的最大浏览器数。这与受支持的浏览器的maxInstance不同(示例:对于支持Firefox 3.6,Firefox 4.0和Internet Explorer 8的节点,maxSession = 1将确保您运行的浏览器永远不会超过1个。使用maxSession = 2时,您可以同时进行2个Firefox测试,或者1个Internet Explorer和1个Firefox测试)。

高级参数。

  • browser <params>如果未设置浏览器,则节点将以5个Firefox,1个Chrome和1个IE实例(假设它在Windows框中)开头。可以在同一行上多次设置此参数,以定义多种类型的浏览器。-browser允许使用的参数:browserName = {android,chrome,firefox,HTML单元,Internet Explorer,iPhone,Opera} version = {浏览器版本} firefox_binary = {可执行二进制文件的路径} chrome_binary = {可执行二进制文件的路径} maxInstances = {这种类型的浏览器的最大数量}平台= {WINDOWS,LINUX,MAC}。
  • registerCycle N =节点尝试再次注册自身的频率(毫秒)。
  • maxInstances值设置限制。在节点上运行的浏览器数量。
    • 例如–如果要使用2 Firefox和2 IE,则应使用< maxInstances>设置启动节点。
java -jar selenium-server-standalone-2.41.0.jar -role webdriver -hub

http://localhost:4444/grid/register -port 5556 -browser browserName=firefox,maxInstances=3
  • 可以在”配置”选项卡下验证”最大实例数”。

最后的想法–建立Selenium网格

希望您会了解下载Selenium Grid并设置多个浏览器以进行跨平台测试的所需步骤。要了解Selenium网格,您必须首先尝试学习基础知识。这就是我们在以上文章中所解释的。

在下一篇文章中,您将找到Selenium Webdriver代码以在网格节点上运行多个测试。同样,它会给您一个使用Selenium进行负载测试的想法。所以不要错过阅读它。

由于此类职位需要大量的研究和工作,因此,如果您希望提供支持,请喜欢或分享该职位。

NihaoW3。

发表评论

电子邮件地址不会被公开。 必填项已用*标注