乐趣区

关于后端:JMeter响应断言解析与优化实践

JMeter 是一个功能强大的性能测试工具,它能够模仿大量用户并发拜访网站或应用程序,以测试其性能和稳定性。在进行性能测试时,咱们须要对响应后果进行断言,以确保应用程序或网站的性能和性能合乎预期。

在 JMeter 中,响应断言是一种用于查看服务器响应是否合乎预期的机制。JMeter 提供了多种类型的响应断言,包含文本、响应代码、响应头、响应工夫等。上面将具体介绍 JMeter 中的响应断言。

响应断言类型

文本响应断言

文本响应断言是最罕用的一种断言类型,它用于查看服务器响应中是否蕴含特定的文本。例如,咱们能够应用文本响应断言来查看登录页面是否蕴含“用户名”和“明码”这两个关键字。如果服务器响应中不蕴含这些关键字,那么断言将失败。

在 JMeter 中,文本响应断言有多种选项,包含:

  • 蕴含 / 不蕴含:查看服务器响应中是否蕴含 / 不蕴含特定的文本。
  • 匹配 / 不匹配:应用正则表达式来查看服务器响应中是否蕴含 / 不蕴含特定的文本。
  • 大小写敏感 / 不敏感:指定断言是否辨别大小写。

响应代码断言

响应代码断言用于查看服务器响应的 HTTP 状态码是否合乎预期。例如,咱们能够应用响应代码断言来查看登录页面是否返回 HTTP 200 状态码。如果服务器返回的状态码不是 200,那么断言将失败。

在 JMeter 中,响应代码断言有多种选项,包含:

  • 等于 / 不等于:查看服务器响应的 HTTP 状态码是否等于 / 不等于特定的值。
  • 区间:查看服务器响应的 HTTP 状态码是否在特定的区间内。

响应头断言

响应头断言用于查看服务器响应的 HTTP 头信息是否合乎预期。例如,咱们能够应用响应头断言来查看登录页面是否返回特定的 Content-Type 头信息。如果服务器返回的头信息不合乎预期,那么断言将失败。

在 JMeter 中,响应头断言有多种选项,包含:

  • 蕴含 / 不蕴含:查看服务器响应的头信息中是否蕴含 / 不蕴含特定的值。
  • 匹配 / 不匹配:应用正则表达式来查看服务器响应的头信息中是否蕴含 / 不蕴含特定的值。
  • 大小写敏感 / 不敏感:指定断言是否辨别大小写。

响应工夫断言

响应工夫断言用于查看服务器响应的工夫是否合乎预期。例如,咱们能够应用响应工夫断言来查看登录页面的响应工夫是否小于 5 秒。如果服务器响应工夫超过了预期,那么断言将失败。

在 JMeter 中,响应工夫断言有多种选项,包含:

  • 大于 / 小于 / 等于:查看服务器响应的工夫是否大于 / 小于 / 等于特定的值。
  • 百分比:指定服务器响应工夫的百分比,例如 90%,并查看是否小于特定的值。

具体应用示例

增加 HTTP 接口

咱们有如下的 HTTP 接口。

增加断言

增加响应断言: 右击接口 > 增加 > 断言 > 响应断言。

之前的接口返回的数据后果如下:

{
    "total": 3,
    "data": [
        {
            "id": 1,
            "name": "Apple",
            "price": 100
        },
        {
            "id": 2,
            "name": "Orange",
            "price": 200
        },
        {
            "id": 3,
            "name": "Banana",
            "price": 300
        }
    ]
}

咱们对 响应文本中 蕴含字符串“Apple”做断言:

咱们对 HTTP 的响应码 做断言:

断言后果

运行用例。如果响应合乎断言,则什么都不会产生。否则,在后果树中会看到报错信息。将 响应文本中蕴含 Apple 的断言值改成 Apple3,运行,就会看到如下的报错:

总结

总之,响应断言是 JMeter 中十分重要的一个性能,它能够帮忙咱们查看服务器响应是否合乎预期。在进行性能测试时,咱们应该依据理论状况抉择适合的断言类型,并设置适合的参数,以确保测试后果的准确性和可靠性。

更多 Jmeter 应用技巧:

  • 如何应用 JMeter 申请 gRPC 接口?
  • 如何应用 JMeter 进行 HTTPS 申请测试?
退出移动版