当前位置: 首页 > news >正文

php做网站导购谷歌关键词优化怎么做

php做网站导购,谷歌关键词优化怎么做,网站qq客服不添加好友,免费做自荐书的网站浅谈断言之JSON断言 JSON断言是Apache JMeter中一个非常实用的功能,它允许用户验证HTTP响应中的JSON数据是否符合预期。这对于API测试尤为重要,因为JSON(JavaScript Object Notation)是Web服务间通信的常用数据格式。通过精确地检…

浅谈断言之JSON断言

JSON断言是Apache JMeter中一个非常实用的功能,它允许用户验证HTTP响应中的JSON数据是否符合预期。这对于API测试尤为重要,因为JSON(JavaScript Object Notation)是Web服务间通信的常用数据格式。通过精确地检查返回的JSON响应内容,JSON断言能帮助确保API按照预期工作,提高测试的准确性和可靠性。

JSON断言简介

JSON断言组件位于JMeter的“断言”类别下。使用时,你需要将其添加到HTTP请求或其他产生响应的取样器之下。该断言通过比较实际收到的JSON响应与预设的条件或模式,判断请求是否成功。

配置

● 配置步骤:
a. 添加JSON断言:在你的测试计划中,选中一个HTTP请求或其他产生JSON响应的取样器,右击选择“添加” > “断言” > “JSON断言”。
b. 设置断言细节:
■ 名称:为断言提供一个描述性的名称。
■ Assert JSON Path exists:用于定位JSON响应中特定元素的JSON路径表达式。例如$.response.status会匹配到根对象下response属性的status字段
■ Additionally assert value:是否额外验证根据JSONPath提取的值。不勾选,验证JSONPath能否在JSON文档中找到路径;勾选,验证根据JSONPath提取值是否预期
■ Match as regular expression:预期值是否可以使用正则表达式。不勾选,预期值不能使用正则表达式表示;勾选,预期值可以使用正则表达式表示
■ Expected Value:预期的JSON值或表达式。可以是一个具体的值,也可以是基于JSON路径的表达式来提取特定部分的值。
■ Expect Null:若验证提取的值为null,则勾选此项;验证null值,还是需要勾选“Additionally assert value”,否则验证的是JSONPath能否找到路径;预期值不填表示空字符,与null不等价。
■ Invert assertion (will fail if above conditions met):若勾选,表示对断言结果取反。

应用实例

我们通过SpingBoot框架编写如下测试接口代码:

@PostMapping(value = "/login",produces = "application/json;charset=UTF-8")public String authenticate(@RequestBody JSONObject request) {String validUsername = "admin";String validPassword = "password";String response = "{\"total\":2,\"data\":[{\"id\":123,\"name\":\"John Doe\",\"email\":\"johndoe@example.com\",\"phone\":\"123-456-7890\",\"address\":{\"street\":\"123 Main St\",\"city\":\"New York\",\"state\":\"NY\",\"zip\":\"10001\"},\"interests\":[\"sports\",\"music\",\"travel\"]},{\"id\":456,\"name\":\"Jane Smith\",\"email\":\"janesmith@example.com\",\"phone\":\"987-654-3210\",\"address\":{\"street\":\"456 Elm St\",\"city\":\"Los Angeles\",\"state\":\"CA\",\"zip\":\"90001\"},\"interests\":[\"reading\",\"cooking\",\"hiking\"]}]}";if (request.getString("username").equals(validUsername) && request.getString("password").equals(validPassword)) {return response;} else {return response;}}

我们编写如下测试脚本
在这里插入图片描述

线程组:保持默认
HTTP信息头管理器:名称content-type,值为application/json;charset=UTF-8
HTTP请求:协议http,服务器名称或IP为127.0.0.1,端口设置为8091,方法为post,路径/login,内容编码为utf-8,消息体数据设置如下

{"username": "admin","password": "password"}

运行脚本,查看结果树,在HTTP请求的响应数据中Response Body查看结果如下:

{"total":2,"data":[{"id":123,"name":"John Doe","email":"johndoe@example.com","phone":"123-456-7890","address":{"street":"123 Main St","city":"New York","state":"NY","zip":"10001"},"interests":["sports","music","travel"]},{"id":456,"name":"Jane Smith","email":"janesmith@example.com","phone":"987-654-3210","address":{"street":"456 Elm St","city":"Los Angeles","state":"CA","zip":"90001"},"interests":["reading","cooking","hiking"]}]}

情况1:Assert JSON Path exists

JSON断言中,根据返回消息存在total,我们将Assert JSON Path exists中参数设置为$.total。
运行结果,查看结果树中是否成功,http请求断言成功,不显示断言的结果
在这里插入图片描述

情况2:Additionally assert value

JSON断言中,根据返回消息存在total,我们将Assert JSON Path exists中参数设置为$.total,并且勾选Additionally assert value,不勾选Match as regular expression,然后在Expected Value中输入为2。
运行结果,查看结果树中是否成功,http请求断言成功,不显示断言的结果
在这里插入图片描述

情况3:Match as regular expression

JSON断言中,根据返回消息存在total,我们将Assert JSON Path exists中参数设置为$.total,并且勾选Additionally assert value,勾选Match as regular expression,然后在Expected Value中输入为.2.
运行结果,查看结果树中是否成功,http请求断言成功,不显示断言的结果
在这里插入图片描述

情况4:Invert assertion (will fail if above conditions met)

JSON断言中,根据返回消息存在total,我们将Assert JSON Path exists中参数设置为$.total,勾选Invert assertion (will fail if above conditions met)。
运行结果,查看结果树中是否成功,http请求断言失败
在这里插入图片描述

总结

JSON断言是进行API自动化测试时不可或缺的工具,它使得对复杂JSON响应的验证变得简单而高效。通过灵活运用JSON路径表达式和各种配置选项,你可以确保API返回的数据结构和内容完全符合预期,从而提升测试的覆盖度和质量。掌握JSON断言的使用,将极大增强你的接口测试能力。

http://www.mmbaike.com/news/30163.html

相关文章:

  • 哪类型网站容易做茂名网站建设制作
  • 中信建设有限责任公司最新新闻夫唯seo教程
  • 做国外的网站独立站建站平台
  • 连云港企业做网站百度推广怎么操作
  • 电子商务网站的整个建设流程济南网站建设方案
  • 个人网站设计内容和要求百度云
  • 开展农业信息网站建设工作总结湖南seo优化哪家好
  • 衡天主机 wordpressseo检测优化
  • 石湾顺德网站建设网络营销论文3000字
  • 40个靠谱免费网站深度搜索
  • 现在注册公司流程和费用seo范畴
  • 优惠购网站怎么做的强力搜索引擎
  • 营销型网站要多少钱线上线下推广方案
  • 网站标题title重庆seo网络优化咨询热线
  • 巴中网站建设公司免费永久个人域名注册
  • 美女做恐怖手术视频网站seo全网优化推广
  • 商务服饰网站建设电脑课程培训零基础
  • 网站开发总结经典软文案例50字
  • 手机网站建设策划书手机域名访问网站怎么进入
  • 旅行社网站建设方案书魔方优化大师官网下载
  • 网站开发程序说明网站建设维护
  • 电子商务网站建设有哪些流程苏州seo怎么做
  • 沈阳模板建站站长网站优化公司
  • javaweb是不是做网站的上海自动seo
  • 浦东网站推广在线分析网站
  • 网站竞品拦截广告怎么做公司网站建设代理
  • 高端营销网站搜狗站长平台打不开
  • 国外疫情最新消息2023太原百度快照优化排名
  • 贵州网站建设系统靠谱的拉新平台
  • 有专门做食品的网站吗可口可乐软文范例