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

jmeter接口测试(一)

一、什么是接口测试?为什么要做接口测试?

接口测试:就是测试项目和项目之间,模块和模块之间,组件和组件之间的数据交互和权限鉴定(鉴权)。
前后端分离:前后端联调。mock模拟,测试左移。
基于安全考虑:

二、接口分类

内部接口:被测项目开发的接口是提供给内部系统使用。(正例)
外部接口:
			  1、被测项目调用外部项目的接口。(正例)
			  2、被测项目开发接口提供给外部项目使用。(正例、鉴权、反例、兼容)
粒度。
重点:接口参数传递以及接口功能的正确性,各种异常情况的容错能力,权限控制的能力,兼容性。
一般情况下,一个正常的接口可以写30个用例左右。

三、目前市场上的接口类型的全局认识

1、基于soap接口架构的接口:基于webservice协议,基于xml传输数据的。
分辨:接口地址:https://.............?wsdl    web service description language
基于工具:suapui

2、基于RPC接口架构的接口:阿里的dubbo、RMI、thift
分辨:接口地址:dubbo://
springcloud微服务
基于工具:jmeter(插件)

3、最核心的主流:基于restful接口架构:
分辨:增、删、改、查 (post、delete、put、get),并且这四种是同一个地址:http://192.168.0.8/user
不是非常严格:增、删、改、查(post、post、post、get)
基于工具:jmeter、postman...
jmeter+ant+git+jenkins持续集成
postman+newman+git+jenkins持续集成

四、Jmeter

jmeter依赖于java环境(jdk1.8以上)
1、安装jdk以及配置jdk的环境变量。
2、jmeter不需要安装,解压即可使用。

在这里插入图片描述

backups:备份jmx脚本
bin目录:
	ApachJMeter.jar : Jmeter的主要jar文件
	jmeter.bat : 启动文件
	jmeter.properties : 全局配置文件(⭐⭐⭐⭐⭐)
docs: 离线帮助文档,用于二次开发
extras:和第三方插件集成(⭐⭐⭐⭐⭐)

五、Jmeter的界面以及组件详解

组件:	
	  测试计划
	  线程组
	  取样器
	  逻辑控制器
	  前置处理器
	  后置处理器
	  断言
	  定时器
	  配置元件
	  监听器
	
	组件作用域:
		1、兄弟(同级)组件
		2、父组件
		3、兄弟组件下的子组件
	执行顺序:
			测试计划  》 线程组 》 配置元件 》 前置处理器 》定时器》逻辑控制器 》取样器 》后置处理器 》断言 》监听器

六、Jmeter接口测试流程

1、拿到api接口文档(抓包,录制),业务、地址、鉴权、入参、出参、错误码等
2、编写接口测试用例以及评审
   正例、鉴权反例、参数反例、兼容,其他特殊场景(接口次数限制,黑名单,接口分页)
3、执行接口测试
4、团队协作以及持续集成。

七、Jmeter接口测试实战

json格式
http协议:请求和响应
请求:请求行、请求头、请求正文
响应:响应行、响应头、响应正文

https协议默认的端口为:80       http协议默认的端口为:443


三大配置元件:HTTP Cookie管理器 、HTTP请求默认值 、用户定义的变量

八、接口关联

1、JSON提取器 :只能作用于json数据
例如:提取access_token
在这里插入图片描述
在这里插入图片描述
json提取方式为:$.变量名

图中:Names of created variables: 新建变量名
		  JSON Path expressions:json表达式提取
		  Match No: 匹配次数
		  Default Values:默认值

2、正则提取器:所有字符串
在这里插入图片描述
在这里插入图片描述


http://www.kler.cn/a/554429.html

相关文章:

  • 微服务入门-笔记
  • 汽车长期不保养的危害
  • NVIDIA和AMD显卡型号解读
  • 读书笔记:要点提炼《基于大模型的RAG应用开发与优化——构建企业级LLM应用》(严灿平)
  • 芯谷D668:便携式录音机与耳机式盒式录音机的理想音频解决方案
  • <2.20>Leetcode哈希、双指针
  • Kafka Connect 数据格式转换器
  • 微信小程序:多菜单栏设计效果
  • 基于Spring Boot的图书管理系统设计与实现(LW+源码+讲解)
  • 2025年archlinux tigervnc分辨率设置不生效的问题
  • Maven 构建报告与文档生成
  • 界面控件Telerik UI for Blazor 2024 Q4新版亮点 - 轻松实现日程自定义
  • Unity3D 使用 ILRuntime 时的性能问题详解
  • 排查生产sql查询缓慢
  • Rust 与 WebAssembly 结合的优势
  • Pycharm安装教程超详细图文教程,超详细Pycharm安装保姆级教程
  • 用AI学历史1——中国通史
  • cenos 安装 /usr/local/nginx/sbin/nginx这个路径的nginx
  • MySQL版本选择与安装
  • 三轴云台之自稳算法篇