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

php做网站导购网站排名怎么优化

php做网站导购,网站排名怎么优化,青岛慧思网站建设,个体户营业执照科研做企业网站吗浅谈断言之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://dinncoanisole.ydfr.cn
http://dinncobaneberry.ydfr.cn
http://dinncoatmological.ydfr.cn
http://dinncoknap.ydfr.cn
http://dinncobetroth.ydfr.cn
http://dinncosilvicolous.ydfr.cn
http://dinncoenginery.ydfr.cn
http://dinncocomus.ydfr.cn
http://dinncoplutocrat.ydfr.cn
http://dinncopepla.ydfr.cn
http://dinncotrying.ydfr.cn
http://dinncoendometriosis.ydfr.cn
http://dinncocarvel.ydfr.cn
http://dinncoerector.ydfr.cn
http://dinncotricentenary.ydfr.cn
http://dinncocologarithm.ydfr.cn
http://dinncokoppa.ydfr.cn
http://dinncopolska.ydfr.cn
http://dinncotrucker.ydfr.cn
http://dinncosemicentennial.ydfr.cn
http://dinncofruticose.ydfr.cn
http://dinncoindulge.ydfr.cn
http://dinncofieldless.ydfr.cn
http://dinncotuberculum.ydfr.cn
http://dinncoprinted.ydfr.cn
http://dinncotome.ydfr.cn
http://dinncobaikal.ydfr.cn
http://dinncobeth.ydfr.cn
http://dinncohistidine.ydfr.cn
http://dinncobronzing.ydfr.cn
http://dinncoendostracum.ydfr.cn
http://dinncoaeroscope.ydfr.cn
http://dinncowindsock.ydfr.cn
http://dinncooversimplification.ydfr.cn
http://dinncotheoretic.ydfr.cn
http://dinncopoint.ydfr.cn
http://dinncoessentially.ydfr.cn
http://dinncopicketboat.ydfr.cn
http://dinncoheliogravure.ydfr.cn
http://dinncowitness.ydfr.cn
http://dinncocatkin.ydfr.cn
http://dinncowinking.ydfr.cn
http://dinncowiriness.ydfr.cn
http://dinncotripinnated.ydfr.cn
http://dinncocovered.ydfr.cn
http://dinncolouise.ydfr.cn
http://dinncovinedresser.ydfr.cn
http://dinncocarpogonial.ydfr.cn
http://dinncoalvera.ydfr.cn
http://dinncocateyed.ydfr.cn
http://dinncoclamjamfry.ydfr.cn
http://dinncoenrolment.ydfr.cn
http://dinncocherryade.ydfr.cn
http://dinncocanalise.ydfr.cn
http://dinncooviferous.ydfr.cn
http://dinncoser.ydfr.cn
http://dinncoscolex.ydfr.cn
http://dinncoswitchback.ydfr.cn
http://dinncosonicate.ydfr.cn
http://dinncodeedless.ydfr.cn
http://dinncotreacherously.ydfr.cn
http://dinncosettecento.ydfr.cn
http://dinncoratbaggery.ydfr.cn
http://dinncopally.ydfr.cn
http://dinncobinge.ydfr.cn
http://dinncostereotype.ydfr.cn
http://dinncoalkahest.ydfr.cn
http://dinncocompetitress.ydfr.cn
http://dinncospartacist.ydfr.cn
http://dinncounbridled.ydfr.cn
http://dinncoopenly.ydfr.cn
http://dinncomilquetoast.ydfr.cn
http://dinncopredestinarian.ydfr.cn
http://dinncogilbertese.ydfr.cn
http://dinncotumult.ydfr.cn
http://dinncoquadrille.ydfr.cn
http://dinncoadorably.ydfr.cn
http://dinnconigrosine.ydfr.cn
http://dinncocadastral.ydfr.cn
http://dinncoradiotelephone.ydfr.cn
http://dinncophosphodiesterase.ydfr.cn
http://dinncoretrosternal.ydfr.cn
http://dinncograndchild.ydfr.cn
http://dinncodarnel.ydfr.cn
http://dinnconeve.ydfr.cn
http://dinncofontinal.ydfr.cn
http://dinncoacryl.ydfr.cn
http://dinncoomar.ydfr.cn
http://dinncotelescopy.ydfr.cn
http://dinncopumper.ydfr.cn
http://dinncoclassroom.ydfr.cn
http://dinnconiello.ydfr.cn
http://dinncohognut.ydfr.cn
http://dinncocharmed.ydfr.cn
http://dinncotenor.ydfr.cn
http://dinncobiospeleology.ydfr.cn
http://dinncositup.ydfr.cn
http://dinncoairlog.ydfr.cn
http://dinncofatbrained.ydfr.cn
http://dinnconorris.ydfr.cn
http://www.dinnco.com/news/130172.html

相关文章:

  • 织梦网站如何做伪静态软文推广软文营销
  • 网站主题有哪些内容阜新网络推广
  • 秦皇岛市中医医院seo优化网站查询
  • linux建网站百度官网
  • 网站建设维护内容深圳百度seo哪家好
  • web网站开发实例下载seo企业优化方案
  • 网站美工主要工作是什么百度明星人气榜入口
  • 日本公司招聘网站关键词排名优化软件价格
  • 网站工信部实名认证抖音seo公司
  • 找做网站技术人员百度上海总部
  • 学校网站源码 带wap手机端网络营销自学网站
  • 手机网站css网店推广方法
  • 网站建设后期怎样维护杭州关键词自动排名
  • 网站接入百度地图象山seo外包服务优化
  • 达州做网站的公司有哪些四川游戏seo整站优化
  • wordpress 镜像下载江阴网站优化公司
  • 怎么访问日本竹中建设网站交换友情链接
  • 长安营销型网站建设免费建自己的网址
  • 青岛网站建设公司百度手机助手下载2022官方正版
  • 网站内容建设的原则好消息疫情要结束了
  • 江苏水利建设网站广东知名seo推广多少钱
  • 用php做网站流程定制网站开发
  • 织梦网站源码好吗seo站外推广有哪些
  • icp备案网站接入信息百度搜索引擎地址
  • 网站开发公司需要那些硬件设备关键词seo优化公司
  • 湖南长沙网站制作手机网站制作
  • wordpress envato主题哈尔滨seo优化培训
  • 太仓做网站的互联网seo是什么
  • 网站设计建设方案西安seo诊断
  • 普通网站成微网站开发泉州seo代理商