1. 概述

在本教程中,我们将讨论使用 JMeter 运行 Selenium 脚本的步骤。

2. 使用 JMeter 编写 Selenium 脚本

JMeter 提供了一个用于性能和负载测试的开源解决方案。 它还可以用于功能测试。但随着 CSS*、* JS 和 HTML5 等技术的进步,我们将越来越多的逻辑和行为推送到客户端。因此,更多的事情会增加浏览器的执行时间。这些事情包括:

  • 客户端 Javascript 执行 – AJAX、JS 模板等。
  • CSS 变换 – 3D 矩阵变换、动画等。
  • 3rd 方插件 – Facebook 点赞、双击广告等。

反过来,这可能会影响网站或 Web 应用程序的整体性能。但 JMeter 没有这样的矩阵来衡量这些感知的性能。 JMeter 也无法衡量客户端呈现的用户体验,例如加载时间或页面呈现,因为 JMeter 不是真正的浏览器。

像 Selenium 这样的 Web 驱动程序可以在客户端(本例中为浏览器)自动执行和收集上面讨论的性能指标。因此,虽然 JMeter 负载测试会给系统施加足够的负载,但 JMeter WebDriver 计划将从用户体验的角度获取响应时间和其他行为。

因此,除了测量性能之外,当我们使用带有 JMeter 的 WebDriver 集时,我们还可以测量其他行为。那么让我们进一步讨论这个问题。

3. 先决条件

在使用JMeter运行Selenium脚本之前,应满足以下先决条件:

现在我们可以创建一个示例 JMeter 项目来运行 Selenium 脚本。

4.JMeter项目

至此,我们已经安装好了在 JMeter 中运行 Selenium 脚本的环境。现在,让我们创建一个 JMeter 项目来配置和测试它。 我们将创建一个具有 Selenium Web Driver Sampler 实例的线程组。 我们将在此采样器中包含一个 Selenium 脚本,然后执行它。

下面给出详细描述:

首先,我们启动 JMeter GUI:

JMeter启动

然后我们可以通过单击“编辑->添加”并选择线程组来添加一个简单的“线程组”

创建TG

然后,我们需要添加 Chrome 驱动程序配置。 现在,我们单击左侧窗格中的 Chrome 驱动程序配置并指定“Chrome 驱动程序的路径”:

chrome配置设置

请注意,Chrome 浏览器的版本应与“Chromedrive.exe”版本匹配,脚本才能成功运行。

接下来,我们需要将 Web 驱动程序采样器添加到线程组中:

WD采样器

我们可以将下面给出的脚本添加到线程组中:

WDS.sampleResult.sampleStart()
WDS.browser.get('http://baeldung.com')
WDS.sampleResult.sampleEnd()
WDS.log.info("successfully navigated to http://baeldung.com/");

最后,让我们添加一个“查看表中的结果”和/或“查看结果树”侦听器,以便我们可以查看脚本执行的结果。

我们上面创建的线程组如下图所示:

线程组1

5. 运行 Selenium 脚本

我们已经使用要执行的 Selenium 脚本创建了线程组。 接下来,我们“运行线程组”

Selenium Web Driver 的实例已创建,并且会打开一个新的 Chrome 驱动程序窗口,该窗口将打开 Baeldung 的主页:

输出1

从上面的 JMeter 结果表中可以看出,我们已经成功执行了包含简单 Selenium 脚本的线程组,该脚本打开了一个新的 Chrome 浏览器窗口,然后打开了指定的网页。这样,我们就可以通过在线程组中添加WebDriver Sample然后执行来执行任何Selenium脚本。

六,结论

在本教程中,我们演示了使用 JMeter 运行 Selenium 脚本。我们通过创建包含 Selenium Web 驱动程序实例的线程组在 JMeter 中执行 Selenium 脚本。

完整的实现代码可以在 GitHub 上找到。