1.简介

在本节中,您将学习如何创建基本的 测试计划来测试网站。您将创建五个用户,这些用户将请求发送到 JMeter 网站上的两个页面。另外,您将告诉用户两次运行测试。因此,请求总数为(5 个用户)x(2 个请求)x(重复 2 次)= 20 个 HTTP 请求。要构建测试计划,您将使用以下元素: 线程组, HTTP 请求, HTTP 请求默认值和 图形结果。

有关更高级的测试计划,请参阅 构建高级 Web 测试计划。

1.1 添加用户

您要对每个 JMeter 测试计划进行的第一步是添加一个 线程组元素。线程组告诉 JMeter 您要模拟的用户数量,用户应多久发送一次请求以及应发送多少次请求。

继续并通过首先选择 “测试计划” 来添加 ThreadGroup 元素,单击鼠标右键以获得 “添加” 菜单,然后选择 “添加”→“线程组”。

现在,您应该在 “测试计划” 下看到 “线程组” 元素。如果没有看到该元素,则通过单击 “测试计划” 元素来 “扩展” 测试计划树。

接下来,您需要修改默认属性。如果尚未选择线程组元素,则在树中选择它。现在,您应该在 JMeter 窗口的右侧部分中看到 “线程组控制面板”(请参见下面的图 1.1)


图 1.1 具有默认值的线程组首先为我们的线程组提供一个更具描述性的名称。在名称字段中,输入 JMeter Users。

接下来,将用户数量(称为线程)增加到 5。

在下一个字段 “加速周期” 中,保留默认值 1 秒。该属性告诉 JMeter 启动每个用户之间要延迟多长时间。例如,如果您输入 5 秒钟的加速期,JMeter 将在 5 秒钟结束时完成所有用户的启动。因此,如果我们有 5 个用户和 5 秒钟的加速期,则启动用户之间的延迟将为 1 秒(5 个用户/ 5 秒= 1 个用户每秒)。如果将值设置为 0,那么 JMeter 将立即启动所有用户。

最后,在 “循环计数” 字段中输入值 2。该属性告诉 JMeter 重复测试多少次。如果输入的循环计数值为 1,则 JMeter 将仅运行一次测试。要让 JMeter 重复运行您的测试计划,请选择永久复选框。

在大多数应用程序中,您必须手动接受在控制面板中所做的更改。但是,在 JMeter 中,控制面板会在您进行更改时自动接受它们。如果更改元素的名称,则在离开控制面板后(例如,选择另一个树元素时),树将使用新文本进行更新。 有关完整的 JMeter 用户线程组,请参见图 1.2。

图 1.2 JMeter 用户线程组

1.2 添加默认的 HTTP 请求属性

现在我们已经定义了用户,是时候定义他们将要执行的任务了。在本部分中,您将为 HTTP 请求指定默认设置。然后,在第 1.3 节中,您将添加使用您在此处指定的某些默认设置的 HTTP 请求元素。

首先选择 “ JMeter 用户(线程组)” 元素。单击鼠标右键获得 “添加” 菜单,然后选择 “添加”→“配置元素”→“ HTTP 请求默认值”。然后选择此新元素以查看其控制面板(请参见图 1.3)。

图 1.3HTTP 请求默认值像大多数 JMeter 元素一样,“ HTTP 请求默认值控制面板具有一个您可以修改的名称字段。在此示例中,将此字段保留为默认值。

跳至下一个字段,即 Web 服务器的服务器名称/ IP。对于您正在构建的测试计划,所有 HTTP 请求都将发送到同一 Web 服务器 jmeter.apache.org。在字段中输入此域名。这是我们将指定默认值的唯一字段,因此请保留其余字段的默认值。

HTTP Request Defaults 元素不会告诉 JMeter 发送 HTTP 请求。它仅定义 HTTP Request 元素使用的默认值。

有关完整的 HTTP Request Defaults 元素,请参见图 1.4。

图 1.4 我们的测试计划的 HTTP 默认值

1.3 添加 Cookie 支持

几乎所有的 Web 测试都应使用 cookie 支持,除非您的应用程序明确不使用 cookie。要添加 cookie 支持,只需将HTTP Cookie Manager添加 到测试计划中的每个 线程组 。这将确保每个线程都有自己的 cookie,但会在所有HTTP Request对象之间共享。

图 1.5 HTTP Cookie 管理器要添加 HTTP Cookie 管理器 ,只需选择 “ 线程组 ”,然后从 “编辑” 菜单或右键单击弹出菜单中选择 “添加”→“配置元素”→“ HTTP Cookie 管理器”。

1.4 添加 HTTP 请求

在我们的测试计划中,我们需要发出两个 HTTP 请求。第一个用于 JMeter 主页(http://jmeter.apache.org/Change 页面(http://jmeter.apache.org/changes.html)。),第二个用于

JMeter 按照它们在树中出现的顺序发送请求。

首先将第一个HTTP 请求添加 到 JMeter Users 元素(添加→采样器→HTTP 请求)。然后,在树中选择 HTTP Request 元素并编辑以下属性(请参见图 1.6):

  1. 将名称字段更改为 “主页”。
  2. 将路径字段设置为 “ /”。请记住,由于您已经在 HTTP Request Defaults 元素中指定了此值,因此不必设置 Server Name 字段。

图 1.6 JMeter 主页的 HTTP 请求接下来,添加第二个 HTTP 请求并编辑以下属性(请参见图 1.7:

  1. 将名称字段更改为 “更改”。
  2. 将 “路径” 字段设置为 “ /changes.html”。

图 1.7 JMeter 变更页面的 HTTP 请求

1.5 添加侦听器以查看存储测试结果

您需要添加到测试计划中的最后一个元素是 Listener 。此元素负责将 HTTP 请求的所有结果存储在文件中,并提供数据的可视模型。

选择 JMeter Users 元素并添加一个Graph Results侦听器(添加→侦听器→后端侦听器)。

1.6 登录网站

宏哥在上边列举的不是这种情况,但是某些网站要求您先登录才能允许您执行某些操作。在网络浏览器中,登录名将显示为用户名和密码的表单,以及用于提交表单的按钮。该按钮生成 POST 请求,将表单项的值作为参数传递。

要在 JMeter 中执行此操作,请添加 HTTP 请求,然后将方法设置为 POST。您需要知道表单使用的字段的名称以及目标页面。这些可以通过检查登录页面的代码来找到。[如果很难做到,则可以使用 JMeter Proxy Recorder(相当于一款 web 页面抓包工具,当然了你也可以使用其他的抓包工具)记录登录序列。] 设置提交按钮目标的路径。单击添加按钮两次,然后输入用户名和密码详细信息。有时,登录表单包含其他隐藏字段。这些也将需要添加。

<br/>
图4.8。 示例HTTP登录请求

图 1.8 示例 HTTP 登录请求

1.7 选择同一用户或不同用户

创建测试计划时,在每个线程组迭代中,我们可以选择模拟运行多个迭代的同一用户,或模拟运行一个迭代的不同用户。您可以在线程组元素上配置此行为,并使 HTTP 缓存管理器,HTTP Cookie 管理器,HTTP 授权管理器受此设置控制。

注意:敲黑板,敲脑壳啦!!!

在 JMeter 的最新版本中没有这部分内容了,不要大惊小怪的。可能这部分的内容不是很重要吧,随着版本的增加,Jmeter 官方将这部分去掉了。

<br/>
图4.9。 选择相同或不同的用户

图 1.9 选择相同或不同的用户您可以选择在 CookieManager / CacheManager / Authorization Manager 中清除 cookie /缓存内容/授权,也可以选择由线程组控制。

<br/>
图4.10。 使用线程组控制CookieManager

图 1.10 使用线程组控制 CookieManager

<br/>
图4.11。 使用线程组控制CacheManager

图 1.11 使用线程组控制 CacheManager

图 1.12 使用线程组控制授权管理器

2.小结

好了今天的创建网络测试计划就分享到这里,下一篇宏哥带着小伙伴和童鞋们实战一下,小试一下牛刀。顺带说一下高级网络测试计划的创建。


↙↙↙阅读原文可查看相关链接,并与作者交流