文章目录

  • 一、响应断言(Response Assertion)
  • 操作步骤
  • 断言原则
  • 查看断言结果
  • 二、JSON断言
  • 操作步骤
  • 断言原则
  • 三、断言持续时间(Duration Assertion)
  • 操作步骤
  • 断言原则
  • 四、数据包大小断言(Size Assertion)
  • 操作步骤
  • 断言原则
  • 五、XPath断言(XPath Assertion)



参考地址:

一、响应断言(Response Assertion)

响应断言是最常用的一种断言方法,主要是对响应结果中的文本内容进行断言,比如响应结果是否包含指定的值,或者是否等于指定的值。响应断言可以适用各种返回类型的响应结果,如Test、html、application/json、application/xml等。

操作步骤

第1步:添加线程组
第2步:添加HTTP请求
第3步:在HTTP请求下添加响应断言
第4步:添加断言结果、添加查看结果树
第5步:运行接口后,查看断言结果、查看结果树

jmeter Beanshell断言 responseJson jmeter的断言_python

Apply to: 指定断言作用范围。

Main sample and sub-sample:作用于主main sample和子sub-sample
Main sample only:只作用于main sample
Sub-samples only:只作用于sub-sample
JMeter Variable:作用于JMeter变量

要测试的响应字段:

响应文本(Text Response) :从服务器返回的响应文本,比如body,包含HTTP头
文档(文本)Document(text) :通过Apache Tika追踪的各种各种类型文档的文本
URL样本响应代码(Response Code) : 比如 200
响应消息(Response Message): 比如 OK
响应头(Response Headers ):包括Set-Cookie 头,如果有的话
忽略状态(Ignore Status) :指示JMeter设置sampler status的初始状态为success。sample status是否成功,由Response status的断言结果决定,当选中Ignore Status时,Response status被强制设置为success,不执行进一步的断言判断。仅第一次断言时使用。

断言原则

如上图设置,如果响应结果中包含指定的字符串,则断言通过;如果不包含,则断言失败。

查看断言结果

jmeter Beanshell断言 responseJson jmeter的断言_jmeter_02

二、JSON断言

JSON断言也是测试工作中经常用到的一种断言方法,它一般用于断言某个字段值是否等于我们指定的值。所以JSON断言只能针对响应结果为applicaton/json格式的进行断言操作。如果是其他类型(如:Test、html),则无法使用这种方式。

操作步骤

第1步:添加线程组
第2步:添加HTTP请求
第3步:在HTTP请求下添加JSON断言
第4步:添加断言结果、添加查看结果树
第5步:运行接口后,查看断言结果、查看结果树

jmeter Beanshell断言 responseJson jmeter的断言_HTTP_03

json表达式只有一个$字符时,断言所有内容。

断言原则

如果响应结果中user_name节点的值与期望值相等,则断言通过;否则,断言失败。

三、断言持续时间(Duration Assertion)

断言持续时间通常用于做性能测试,一般用于检查HTTP请求的响应时间是否超过预期值。而这个响应时间是性能测试中常关注的一个性能指标。

操作步骤

第1步:添加线程组
第2步:添加HTTP请求
第3步:在HTTP请求下添加断言持续时间
第4步:添加断言结果、添加查看结果树
第5步:运行接口后,查看断言结果、查看结果树

jmeter Beanshell断言 responseJson jmeter的断言_python_04

断言原则

期望的持续时间,如果实际请求时间小于等于这个值,则断言通过,否则断言失败。

四、数据包大小断言(Size Assertion)

判断响应结果是否包含正确数量的byte。可定义(=, !=, >, <, >=, <=)

操作步骤

第1步:添加线程组
第2步:添加HTTP请求
第3步:在HTTP请求下添加大小断言
第4步:添加断言结果、添加查看结果树
第5步:运行接口后,查看断言结果、查看结果树

jmeter Beanshell断言 responseJson jmeter的断言_HTTP_05

断言原则

响应结果的字节大小满足设置的大小和比较类型时,则断言通过,否则断言失败。

五、XPath断言(XPath Assertion)

如果服务器响应返回的是 xml 格式的内容,这时最佳的断言验证类型就是使用 XPath Assertion。 XPath即为XML路径语言,他是一种用来确定XML文档中某部分位置的语言。XPath基于XML的树状结构,提供在数据结构树中寻找节点能力。

jmeter Beanshell断言 responseJson jmeter的断言_python_06

XML Parsing Options

Use Tidy(tolerant parser):使用 Tidy(容错解析器),默认选择Quite。Quiet:不显示;Report errors:报告异常;Show warnings:显示警告。
Use Namespaces:使用名称空间
Validate XML:验证 XML(文件包/数据)
Ignore Whitespace:忽略空格(允许你指定语法分析器可以忽略哪个空格,而哪个空格是重要的)
Fetch external DTDs:获取外部 DTDs(一些 XML 元素具有属性,属性包含应用程序使用的信息,属性仅在程序对元素进行读、写操作时,提供元素的额外信息,这时候需要在 DTDs中声明)

XPath Assertion
输入框中写入 xpath 断言,点击 Validate 验证其正确性