📝 面试求职: ,内容涵盖 测试基础、Linux操作系统、MySQL数据库、Web功能测试、接口测试、APPium移动端测试、Python知识、Selenium自动化测试相关、性能测试、性能测试、计算机网络知识、Jmeter、HR面试,命中率杠杠的。(大家刷起来…)
📝 职场经验干货:
ApacheJMeter是一款出色的开源性能和功能测试工具,这款工具提供了丰富的功能和强大的扩展性,可以应对各种复杂的测试需求。
当我们在进行接口测试时,经常会遇到需要从接口响应中提取信息并在后续请求中使用的情况。这时候,JMeter中的JSONExtractor就派上了用场。
JSONExtractor是JMeter中的一个PostProcessor组件,它可以根据JSONPath表达式从HTTP请求的响应结果中提取需要的信息。接下来,我们将通过一个具体的例子,详细介绍如何使用JSONExtractor。
假设我们的HTTP请求返回了如下的JSON数据:
{
"dataDetail": [
{
"role_id": 1,
"role_code": "132001",
"role_name": "Administrator"
},
{
"role_id": 2,
"role_code": "132002",
"role_name": "User"
}
]
}
我们的任务是提取role_code为"132002"的对象的role_id。首先,在对应的HTTP请求下添加一个JSONExtractor,配置如下:
Namesofcreatedvariables:命名提取字段的变量名。在这个例子中,我们输入my_role_id。
JSONPathExpressions:输入对应的JSONPath表达式。在这个例子中,我们输入$.dataDetail[?(@.role_code==“132002”)].role_id。
MatchNo:输入匹配数字。在这个例子中,我们只关心第一个匹配的结果,因此输入1。
DefaultValues:输入默认值。在这个例子中,我们可以输入NOT_FOUND作为默认值。
下面是具体的配置:
Names of created variables: my_role_id
JSON Path Expressions: $.dataDetail[?(@.role_code=="132002")].role_id
Match No: 1
Default Values: NOT_FOUND
配置完成后,JSONExtractor会在HTTP请求的响应结果中查找符合JSONPath表达式的值,并将找到的值保存在我们指定的变量中。
在这个例子中,如果role_code为"132002"的对象存在,那么my_role_id就会保存这个对象的role_id;如果不存在,那么my_role_id的值就会是我们指定的默认值NOT_FOUND。
最后,在后续的请求中,我们就可以通过${my_role_id}的形式来使用这个提取出来的role_id了。
总的来说,JMeter的JSONExtractor是一款极其强大的工具,只要我们正确地使用,就能轻松地从复杂的JSON响应中提取我们需要的信息。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取 【保证100%免费】