首页 > 其他分享 >jmeter 基本请求

jmeter 基本请求

时间:2023-12-17 23:34:28浏览次数:42  
标签:基本 请求 成功 接口 响应 json jmeter 断言

  • jmeter  get请求

普通的get请求,是客户端去服务器获取资源的,可以直接在浏览器中访问,获取到服务端的响应的。

 

  • post请求,参数为k=v的POST接口
    post请求方式常用数据格式第一种: content-type:x-www-form-urlencoded,

content-type:x-www-form-urlencoded即表单形式,

数据格式类型:userName=admin&password=1234, 键值对形式 k=v; 

  •  post接口,参数为json的POST接口
    content-type:application/json,json格式的数据;
    json格式的必须加 http信息头管理器,中放置content-type:application/json, json 格式数据: {}

json格式的数据,放置在消息体数据中。

忘记放url地址、ip地址,报404 请求的资源未找到;

post请求方式输入错误,写成get请求,报405 请求的方法不允许;

未添加信息头管理器,报415 ,请求头 中的content-type 不对,应该用json,不加就成默认的form表单了。

  •  post请求,参数为k=json的POST接口;参数 param={"skuId":123,"num":10}

这种 参数param = {“key1”:“value1”,"key2":"value2"} 形式的请求数据格式,其实从本质来说,跟form表单是一样的,也是k=v键值对形式,只是值 v 是json形式的。但从大结构来说,确实是键值对k=v形式 的。所以,参数放置在参数页签即可。

  •  断言

看接口是否成功,用查看结果树 就可以吗? 接口某字段值为空时,查看结果树是通过的,但其实接口返回的是:用户名或密码为空;

jmeter查看结果树看的是服务器对http接口的处理是否处理成功,只要处理成功 ,响应状态码是200,就默认是成功的。 

用户名或密码为空,是接口从业务角度上失败的。

所以,只用查看结果树,不能代表业务上都处理成功了,只能代表 服务器对接口处理成功了,响应状态码200 是正常响应了。没有办法识别 业务上的失败;

所以需要用断言,来进行接口业务上的成功与否。

 

接口业务上成功,返回的数据:

{
"code": "0",
"data": null,
"message": "success"
}

  • json断言:大部分接口返回的都是json格式的响应数据,那么可以 使用json断言来进行业务上的判断;添加-断言-json断言

 

  • 响应断言:如果接口返回的响应数据,不是json格式数据,是其他类型的响应,文本、xml或者表单等其他类型的数据格式,断言的话,用响应断言;添加-断言-响应断言

{"code": "0","data": {"stock": 695},"message": "success"}    

需要注意:从接口成功响应 json格式中拿到的响应   message": "success", 值前面是有空格的,jmeter做了美化,放响应断言中使用时,需要去掉空格;

 响应断言模式匹配规则
包括(Contains):如果响应中包含了指定的字符串,判断为成功,支持正则表达式
匹配(Matches):如果响应完全匹配指定的字符串,判断为成功,支持正则表达式
相等(Equals):如果响应完全匹配指定的字符串,判断为成功,不支持正则表达式
子字符串(Substring):如果响应中包含了指定的字符串,判断为成功,不支持正则表达式;

一般在工作中,不需要用到正则表达式,就选字符串即可,所以,默认的响应断言,就支持大部分的响应断言;

响应断言,还可以支持多个断言的情况。 断言1 且断言2,都满足。

或者:断言1或 者断言2,两个断言满足一个,就成功;

否:不满足断言1、且不满足断言2; 都不满足成功;---用的比较少;

 写接口,一定要写断言,有了断言,才能判断 接口在业务上的成功与否。

 

标签:基本,请求,成功,接口,响应,json,jmeter,断言
From: https://www.cnblogs.com/MTXue/p/17910093.html

相关文章

  • C# TcpClient异常 由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时
    //C#TcpClient抛出异常Exceptionthrown:'System.Net.Sockets.SocketException'inSystem.dll由于套接字没有连接并且(当使用一个sendto调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受。经查,winsock错误号:10057网上看到一些文章,通常是收发的时候,错误......
  • 防御跨站点请求伪造等功能实现
    1.防御跨站脚本攻击(XSS)理论设计跨站脚本攻击(XSS)是一种利用恶意脚本嵌入到Web应用程序中,然后被用户浏览器执行的攻击方式。为防范XSS,我们需要:输入验证:对用户输入进行严格验证,确保只接受合法的数据。输出转义:在将用户输入嵌入到页面之前,对其进行转义,防止浏览器误解其中的脚本......
  • Servlet中访问路径配置为/*时,使用请求转发造成内存溢出
    一、问题由来最近在测试Servlet的请求转发功能,准备抽取一个公共的PageJumpTestServlet,用来做页面跳转功能。这样不用每次在测试的时候,都单独写一个Servlet用来做页面跳转。自己最初的设想时,在路径配置的时候使用/toPage/*,访问地址示例http://localhost:8080/javaWeb/toPage......
  • 浅析浏览器数据库IndexedDB:基本概念、操作流程及各对象属性和方法
    一、概述随着浏览器的功能不断增强,越来越多的网站开始考虑,将大量数据储存在客户端,这样可以减少从服务器获取数据,直接从本地获取数据。Cookie的大小不超过4KB,且每次请求都会发送回服务器;LocalStorage在2.5MB到10MB之间(各家浏览器不同),而且不提供搜索功能,不能建......
  • 前端歌谣-第伍拾九课-路由获取请求参数
    前言我是歌谣微信公众号关注前端小歌谣一起学习前端知识今天继续给大家讲解获取请求参数的讲解案例1api.jsfunctionrender(res,data,type=""){res.writeHead(200,{"content-Type":`${type?type:"application/json"};charset=utf-8`})res.write(data)res.en......
  • Jmeter46 配置元件,读取.properties,.ini, .txt 配置文件,为全局做自动化
     配置元件主要是用与测试前的配置,将配置转换为变量设置到jmetercontext中。而jmeter默认并没有配置元件(.properties)读取器,但是由于jmeter是开源的,我们可以自己定义一个配置元件来读取配置文件。插件下载地址:https://www.testautomationguru.com/jmeter-property-file-reader-......
  • 前端歌谣-第伍拾九课-路由获取请求参数
    前言我是歌谣微信公众号关注前端小歌谣一起学习前端知识今天继续给大家讲解获取请求参数的讲解案例1api.jsfunctionrender(res,data,type=""){res.writeHead(200,{"content-Type":`${type?type:"application/json"};charset=utf-8`})res.write(data)res.en......
  • Science-化学英语基础:元素周期表与基本化合物命名
    https://zhuanlan.zhihu.com/p/478675889?utm_id=0#:~:text=物质的分类-ClassificationofMatter注意:本文涉及的内容在高等院校化学专业有专门的《化学专业英语》课程,因此本文主要面向从高中毕业或更早就要前往英语国家学习化学的人或者非化学专业的爱好者。推荐在国内高中......
  • HTTP 错误 403.14 - Forbidden Web 服务器被配置为不列出此目录的内容。没有为请求的
    HTTP错误403.14-ForbiddenWeb服务器被配置为不列出此目录的内容。出现以上这个错误可能有如下解决方法:1.将应用程序池设置成V4.02.在配置文件中加上以下几句代码:<system.webServer><modulesrunAllManagedModulesForAllRequests=“true”/><directoryBrowseenabled=“......
  • 图像处理的基本操作
    图像处理最基本的操作,包括读取图像、显示图像、保存图像、获取图像属性等。下面将依次讲解这4个内容。1 读取图像OpenCV提供了用于读取图像的imread()方法,其语法格式如下:image=cv2.imread(filename,flags)参数说明:l image:是imread()方法的返回值,返回的是读......