接口测试(jmeter和postman 接口使用)

news2024/11/9 10:10:45

接口测试基础知识

接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。把前端(client)和后端(server)联系起来,测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。更早的进入介入测试能提高对应效率,当后端和前端定义好接口以后可以直接对系统的逻辑进行测试,而不用等待后端开发完后在进行测试。

接口请求一般用HTTP请求,方法大多数为:GET, POST ,HEAD,OPTIONS, 等其他方法。

GET请求:请求指定的页面信息,并返回实体主体。(通常用来接收数据)。在浏览器上可以直接发请求例如:(url+对应路径+?参数名=xxx http://xxxxxxx/api/user/stu_info?stu_name=牛牛&sex=女&xxx=xx  多个参数时用“&”连接)

POST请求:向指定资源提交数据进行处理请求,数据被包含在请求体中。POST请求可能会导致新的资源的建立、已有资源的修改。(通常用来发送数据)。

HEAD请求:类似于get请求只不过返回的响应中没有具体的内容,用于获取报头。

OPTIONS请求:允许客户端查看服务器的性能。

接口调用传参方式:key-value参数形式,Json串传参形式。

key-value参数:把参数拼接在url的后面由?相连,多个参数之间用&相连。

Json串传参:需要在请求的body写中,入Json格式参数。

Cookie和session区别:

会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份Session通过在服务器端记录信息确定用户身份

1.存取方式不同cookie数据存放在客户的浏览器上,session数据放在服务器上。

2.隐私安全:cookie不是很安全,别人可以分析存放在本地的cookie并进行cookle欺骗考虑到安全应当使用session。

3.有效时间:session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用cookle。

4.服务器负担:单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

http状态码

1xx :信息服务器收到请求,需要请求者继续执行操作

2xx:成功,操作被成功接收并处理

3xx:重定向,需要进一步的操作以完成请求

4xx:客户端错误,请求包含语法错误或无法完成请求

5xx:服务器错误,服务器在处理请求的过程中发生出错

其他具体状态码报错可以参考  http://www.runoob.com/http/http-status-codes.html

测试接口前需知接口文档

接口测试用例模板

Jmeter脚本

JMeter 是用Java开发的桌面应用,用于压力测试和性能服务的受压能力或者分析不同压力条件下的总体性能情况,JMeter提供的图形化界面,分析性能指标或者在高负载情况下测试你的服务器/脚本/对象。JMeter也 能够通过断言创造测试脚本来验证我们的应用程序是否返回了我们期望的结果,帮助我们回归测试我们的程序。可链接的取样器允许无限制的测试能力,支持脚本编程的取样器。

jmeter查看结果树时出现乱码: 在jmeter的bin目录下找到jmeter.properties这个文件上添加   sampleresult.default.encoding=utf-8   重启jmeter。

jmeter body data里面有乱码:在jmeter的bin目录下找到jmeter.properties这个文件 添加上     jsyntaxtextarea.font.family=Hack      重启jmeter。

打开jmeter首先要在测试计划下新建一个线程组---请求方法—查看结果数

测试计划右键—添加—Thread—线程组

线程组右键添加—sampler—选择对应请求(一般选http请求)

线程组右键添加—监听器—选择察看结果数

当需要添加cookle值时需要添加一个http信息头管理器(线程组右键--添加--配置元件--HTTP信息头管理器)(名称:cookle   值:用户名=sign      备注:用户名是你登录时填写的名称,sign是保存服务器的cookle信息, 具体操作看“5金币添加”,如果接口有提示填写对应的值就按接口提示进行填写如“6.获取所有学生信息”)

1.注册接口

2.查询学生信息

3.登录接口

4.添加学生信息

5.金币充值

6.获取所有学生信息

7.文件上传

postman脚本

 Postman是一种网页调试与发送网页http请求的chrome插件。我们可以用来很方便的模拟get或者post或者其他方式的请求来调试接口,postman既可以以chrome浏览器插件的形式存在,也可以是独立的应用程序存在。

直接打开postman选择接口方法,输入对应接口地址,如post方法在Body中填写对应参数直接回车(备注:当需要添加cookle值时在Headers下选择填写对应的值)

1.用户注册

2.查询用户信息

 可以直接在路径上数据对应参加查询用户的值(如果参数有多个组合用“&”连接 例如:192.168.1.1/xxxx/xxxx/xxx?参数名=用户值&参数名=用户值)

3.登录

4.添加用户信息

5.添加金币

需要cookle的值首先要登录账号查询当前账户的sign,然后添加到Value内,给对应人员添加金币需要先查询该人员id号。

6.获取所有学生信息

接口文档内有对应Headers值时填写对应的key和value

7.上传文件

postman断言

2023最新Jmeter接口测试从入门到精通(全套项目实战教程)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1114249.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Keeplived安装部署(单机双机)

Keeplived官网:https://www.keepalived.org/download.html 一 单机安装配置: 1.上传keepalived安装包并且安装 [rootmaster1 local]# tar -zxvf keepalived-2.2.8.tar.gz [rootmaster1 local]# mv keepalived-2.2.8 keepalived [rootmaster1 local]# chown root:r…

docker安装es分词插件ik详情步骤

1.下载ik查询 根据es版本去下载对应的版本,游览器中输入下面下载链接 https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.7.1/elasticsearch-analysis-ik-8.7.1.zip 2.2.若有对应版本跳过,若没有对应版本(比如我需…

将语义分割的标注mask转为目标检测的bbox

1. 语义分割标签 1.1 labelme工具 语义分割的标签是利用labelme工具进行标注的,标注的样式如下: 1.2 语义分割的标签样式 2. 转换语义分割的标注到目标检测的bbox 实现步骤 (1) 利用标注的json文件生成mask图片(2) 在mask图片中找到目标的bbox矩形框的左上角点和右下角点(…

TCP通信-使用线程池优化

下面的通信架构存在问题: 客户端与服务端的线程模型是: N-N的关系,客户端并发越多,系统瘫痪的越快。 引入线程池处理多个客户端消息 代码实现 public class ClientDemo1 {public static void main(String[] args) {try {Syste…

C++是不是最容易产生猪队友的编程语言之一?

C是不是最容易产生猪队友的编程语言之一? 猪队友不是什么编程语言产生的,而是其做派本身就是猪队友,比如说自己一知半解的东西用得飞 起,而且不愿意深层次去学;再比如说不愿意写单元测试,甚至普通的测试都懒得做。最近…

在chrom浏览器安装Vue.js devtools插件,遇到恶意扩展程序字样,附百度网盘下载链接

遇到的问题 拖拽下载好的 Vue.js devtools 插件到谷歌扩展程序, 百度网盘下载地址 链接:https://pan.baidu.com/s/1FeK6pwc2UzRUUlMFN3rW5w?pwdw361 提取码:w361 提示: 解决办法 将Vue.js devtools 插件的后缀从.crx改为.zi…

C# 文件 校验:MD5、SHA1、SHA256、SHA384、SHA512、CRC32、CRC64

文件 校验 算法:MD5、SHA1、SHA256、SHA384、SHA512、CRC32、CRC64 编程语言:C# 文件属性内容 校验算法:MD5、SHA1、SHA256、SHA384、SHA512、CRC32、CRC64。 核心代码: using System; using System.Collections.Generic; using System; using System.Text; using Syst…

提升APP的用户体验的方法

提高APP的用户体验(User Experience,简称UX)对于吸引用户、提高用户满意度和应用的成功至关重要。以下是一些方法,可以帮助改善APP的用户体验,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包…

K8s 概念及组件

K8s 的全称为Kubernetes,是一种开源的容器编排平台,用于自动化部署以及扩展和管理容器化的应用程序,它提供了一种容器编排和管理的方式,可以帮助开发人员更轻松的管理容器化的应用程序,并且提供了一种跨多个主机的自动…

内存爆炸、CPU100%问题定位

目录 一、内存爆炸相关1、关于-Xms(最小堆内存)和-Xmx(最大堆内存)2、JVM初始化时申请实际物理内存3、OutOfMemory问题排查(1) 堆内存溢出排查(2) 堆外内存溢出排查 二、CPU 100及死锁问题定位1、CPU 100问题排查(1) 找到程序对应进程号(2) 查找进程对应的线程编号(3)查看线程堆…

根据Excel表格数据去修改数据库数据

一、背景 项目上线,实施任务发来一份Excel表格数据 需要将供应商和生产厂商进行绑定,因为数据过多,实施人员一个个绑定时间成本过高,想让开发给出一个脚本。 二、操作 比如这些数据 生产厂商为A 供应商为B 以update 语句为例 …

基于Vertx实现可配置及可扩展的IOT服务

搭建框架的目标 相信写过IOT服务的伙伴应该知道,面对各种千奇百怪的通信协议,特别是16进制报文的协议,有些协议看的确实有点让人头疼。但这些协议中也有很多共性,不必针对每过协议都把一些业务无关的代码再撸一遍。 搭建这个项目主…

【Javascript】‘var‘ is used instead of ‘let‘ or ‘const‘

解决: 设置完之后,var 就不会再出现黄色波浪线警告

普通二维码跳转微信小程序实战

简介 服务端springboot项目,前端基于uniapp的微信小程序,要求扫描二维码之后进入到小程序指定页面,下面记录一下实现过程以及过程中遇到的问题. 实现过程 下面是成功跳转的配置截图: 首先说下二维码规则,这个地方需要填写扫描二维码之后打开的地址,这个地址在我的项目里…

Keil实现Flash升级跳转(STM32/GD32/HC32)

编写BOOT程序,和APP程序。 BOOT程序检查OTA参数,执行OTA升级,然后跳转到APP代码。 记录一下跳转APP需要修改得东西: 1、BOOT程序 修改跳转地址 先检查APP地址是否有效 然后关闭外设 反初始化 设置MSP指针,进行跳转 …

多商户自营连锁小程序商城的作用是什么

近几年,线上线下经营压力很大,不少商家都希望通过数字化转型实现破局或增长,单店管理力度相对容易些,但如果是连锁门店,近几年则相对风险大些,但从2020年至今依然有不少品牌选择扩店,增加连锁规…

vue 组件封装 综合案例

vue 组件封装 综合案例 **创建 工程: H:\java_work\java_springboot\vue_study ctrl按住不放 右键 悬着 powershell H:\java_work\java_springboot\js_study\Vue2_3入门到实战-配套资料\01-随堂代码素材\day05\准备代码\11-综合案例-商品列表 vue --version vue c…

深入探索Sharding JDBC:分库分表的利器

随着互联网应用的不断发展和用户量的不断增加,传统的数据库在应对高并发和大数据量的场景下面临着巨大的挑战。为了解决这一问题,分库分表成为了一个非常流行的方案。分库分表主流的技术包括MyCat和Sharding JDBC。我们来通过一张图来了解这两者有什么区…

38 WEB漏洞-反序列化之PHPJAVA全解(下)

目录 Java中的API实现序列化和反序列化演示案例WebGoat_Javaweb靶场反序列化测试2020-网鼎杯-朱雀组-Web-think java真题复现 文章参考: https://www.cnblogs.com/zhengna/p/15737517.html https://blog.csdn.net/MCTSOG/article/details/123819548 ysoserial生成攻…

CC攻击和其防御策略

CC攻击简介 CC攻击,又称为Challenge Collapsar攻击,是一种常见的DDoS(分布式拒绝服务)攻击方式,旨在使Web服务在第七层协议层面遭受攻击。攻击者并不需要大量的肉鸡来实施CC攻击,相反,他们使用…