9. 构建 WebService 测试计划

在本节中,您将学习如何创建 测试计划来测试 Web 服务。您将创建五个向一页发送请求的用户。此外,您将告诉用户运行他们的测试两次。因此,请求总数为(5 个用户)x(1 个请求)x(重复 2 次)=10 个 HTTP 请求。要构建测试计划,您将使用以下元素: 线程组HTTP 请求聚合图

如果采样器似乎从 Web 服务收到错误,请仔细检查 SOAP 消息并确保格式正确。特别是,确保 xmlns属性与 WSDL 完全相同。如果 xml 命名空间不同,webservice 可能会返回错误。

9.1 创建 WebService 测试计划

在我们的测试计划中,我们将使用 .NET Web 服务。我们不会深入讨论编写 Web 服务的细节。如果您不知道如何编写 Web 服务,请在 Google 上搜索 Web 服务并熟悉为 Java 和 .NET 编写 Web 服务。应该注意的是,.NET 和 Java 如何实现 Web 服务之间存在显着差异。该主题过于广泛,无法在用户手册中涵盖。请参阅其他来源以更好地了解差异。

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

首先使用菜单 File  →  Templates... 并选择模板“ Building a SOAP Webservice Test Plan ”。然后,单击“创建”按钮。


图 9.1.0。 网络服务模板
图 9.1.0。网络服务模板
更改以下内容:
  1. 在“ HTTP 请求默认值”中更改“ IP 的服务器名称
  2. 在“肥皂请求”中,更改“路径:
    图 9.1.1 Web 服务路径
    图 9.1.1 Web 服务路径

接下来,选择“ HTTP Header Manager ”并更新“ SOAPAction ”标头以匹配您的 Web 服务。在这种情况下,某些 web 服务可能不使用 SOAPAction 将其删除。
目前,只有 .NET 使用 SOAPAction,因此对于所有其他 Web 服务,有一个空白的 SOAPAction 是正常的。该列表包括 JWSDP、Weblogic、Axis、The Mind Electric Glue 和 gSoap。

图 9.1.2 Web 服务标头
图 9.1.2 Web 服务标头

最后一步是将 SOAP 消息粘贴到“ Body Data ”文本区域中。

图 9.1.3 Web 服务主体
图 9.1.3 Web 服务主体

9.2 添加用户

线程组告诉 JMeter 你想模拟的用户数量,用户应该多久发送一次请求,以及他们应该发送多少个请求。

如果尚未选择树中的线程组元素,请选择它。您现在应该在 JMeter 窗口的右侧看到线程组控制面板(参见下面的图 9.2)


图 9.2。 具有默认值的线程组
图 9.2。具有默认值的线程组

首先为我们的线程组提供一个更具描述性的名称。在名称字段中,输入 JMeter 用户。

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

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

最后,清除标记为“ Forever ”的复选框,并在 Loop Count 字段中输入值2 。此属性告诉 JMeter 重复测试多少次。如果您输入循环计数值0,那么 JMeter 将只运行一次测试。要让 JMeter 重复运行您的测试计划,请选中Forever 复选框。

在大多数应用程序中,您必须手动接受您在控制面板中所做的更改。但是,在 JMeter 中,控制面板会在您进行更改时自动接受您的更改。如果更改元素的名称,则在离开控制面板后(例如,选择另一个树元素时),将用新文本更新树。

有关已完成的 JMeter 用户线程组,请参见图 9.2。


图 9.3。 JMeter 用户线程组
图 9.3。JMeter 用户线程组

9.3 添加监听器以查看存储测试结果

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

选择 JMeter Users 元素并添加一个Aggregate Graph侦听器(Add  →  Listener  →  Aggregate Graph)。接下来,您需要指定输出文件的目录和文件名。您可以在文件名字段中键入它,或者选择“浏览”按钮并浏览到一个目录,然后输入一个文件名。


图 9.4。 图表结果监听器
图 9.4。图表结果监听器

9.4 休息网络服务

测试一个 REST Web 服务非常相似,你只需要在 HTTP 请求中修改

  • 方法:选择你要测试的那个
  • 正文数据:可以是 JSON、XML 或任何自定义文本
您可能还需要修改“ HTTP Header Manager ”以选择正确的“ Content-Type

Go to top