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

接口测试基础知识

接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。把前端(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断言

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

7.2、子集求和问题与背包密码系统

7.2、子集求和问题与背包密码系统 一、数学描述 1.1、第一种描述 20 世纪 70 年代末,默克尔和赫尔曼首次尝试将密码系统建立在一个 NP-完全问题上。他们使用了以下数学问题的一个版本,该问题是对经典knapsack问题的概括。 子集和问题 假设你有一个正…

MySQL索引的原理和SQL优化策略

1. 索引 在InnoDB存储引擎中,索引分为聚簇索引和辅助索引两种类型。 聚簇索引是指基于表的主键构建的索引,它决定了表中数据的物理存储顺序。也就是说,聚簇索引中的键值按照主键的顺序来排序,并且每个叶子节点存储的是整个表行的…

关于数组中相邻元素的合并处理方法总结

这两天在开发需求的过程中,需要处理一个数组数据,对相邻元素的具有相同的点合并元素里面的数组。 我们先看一下处理的数组是什么样的。 let array [{name: 数据来源1,list: [{dataCode: 12,dataName: 照片,dataSort: 20,fileList: []}]}, {name: 数据来…

React18-模拟列表数据实现基础表格功能

文章目录 分页功能分页组件有两种接口参数分页类型用户列表参数类型 模拟列表数据分页触发方式实现目录 分页功能 分页组件有两种 table组件自带分页 <TableborderedrowKey"userId"rowSelection{{ type: checkbox }}pagination{{position: [bottomRight],pageSi…

python 实现 macOS状态栏 网速实时显示

安装依赖包&#xff1a; pip install pillow psutil rumpsnetSpeedApp.py from PIL import Image, ImageDraw, ImageFont import psutil import rumpsclass NetSpeedApp(rumps.App):def __init__(self):super(NetSpeedApp, self).__init__("NetSpeed")self.titlese…

【javase】——类和对象

莫道桑榆晚&#xff0c;为霞尚满天。文章目录 面向对象的初步认识面向对象与面向过程什么是面向对象 类的定义和使用类的定义格式 类的实例化什么是实例化类和对象的使用 this引用什么是this引用this 引用的特性。 对象的构造以及初始化如何初始化对象构造方法首先第一&#xf…

喝汽水问题

答案&#xff1a; #include <stdio.h> int main() {int num 0; //可以喝汽水的次数int mon 20; //钱int cup 0; //瓶子数for (mon 20; mon > 0; mon--) //每次花1元钱买汽水喝{num; //可以喝汽水的次数加1cup; //瓶子数加1if (cup 2) //如果瓶子…

Common Mistakes in German

Comman Mistakes in German 1, Haus oder Hause2, ja nein oder doch(1) Positive Fragen(2) Negative Fragen 1, Haus oder Hause 2, ja nein oder doch (1) Positive Fragen (2) Negative Fragen kein / nicht P3

MySQL 可重复读隔离级别,完全解决幻读了吗?

文章目录 前言一、什么是幻读&#xff1f;二、快照读是如何避免幻读的&#xff1f;三、当前读是如何避免幻读的&#xff1f;四、幻读被完全解决了吗&#xff1f;场景1场景2 总结 前言 MySQL InnoDB 引擎的默认隔离级别虽然是「可重复读」&#xff0c;但是它很大程度上避免幻读…

qt内存自动释放的两种情况

qt内存管理机制 QObject的parent 我们时常能看到QWidget或者其他的控件的构造函数中有一项参数parent&#xff0c;默认值都为NULL&#xff0c;例如&#xff1a; QLineEdit(const QString &contents, QWidget *parent nullptr); QWidget(QWidget *parent nullptr, Qt::…

新火种AI|哄哄大模型的火爆,给了普通人AI创业破局的关键

作者&#xff1a;一号 编辑&#xff1a;美美 人们似乎更喜欢把AI当做玩具&#xff0c;而非工具。 近日&#xff0c;一款名为哄哄模拟器的AI原生应用火了&#xff0c;一天之内就吸引了60万用户。 哄哄模拟器设置了多种情侣吵架场景&#xff0c;无论你是男是女&#xff0c;都…

【甲方安全建设】DevOps初体验

文章目录 前言传统的开发方式&#xff1a;Docker-解决环境问题 DevOps-CI/CD走向流水线Jenkins工作流程Git拉取代码Maven构建打包通过SSH连接后端服务器 实现效果 DevSecOps-安全赋能关于安全平台漏洞扫描漏洞预警TODO 前言 临近春节&#xff0c;笔者经过半年北漂&#xff0c;…

基于Springboot的社区疫情防控平台

末尾获取源码作者介绍&#xff1a;大家好&#xff0c;我是墨韵&#xff0c;本人4年开发经验&#xff0c;专注定制项目开发 更多项目&#xff1a;CSDN主页YAML墨韵 学如逆水行舟&#xff0c;不进则退。学习如赶路&#xff0c;不能慢一步。 一、项目简介 以往的社区疫情防控管理…

FullStack之Django(2)模型和后台

FullStack之Django(2)模型和后台 author: Once Day date:2022年2月13日/2024年1月31日 漫漫长路&#xff0c;才刚刚开始… 全系列文档请查看专栏: FullStack开发_Once_day的博客-CSDN博客Django开发_Once_day的博客-CSDN博客 参考文档: 编写你的第一个 Django 应用&#…

第三百零一回

文章目录 1. 概念介绍2. 实现方法2.1 obscureText属性2.2 decoration属性 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何实现倒计时功能"相关的内容&#xff0c;本章回中将介绍如何实现密码输入框.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍…

配置IPv6静态路由

1、静态路由简介 静态路由是一种需要管理员手工配置的特殊路由。 静态路由在不同网络环境中有不同的目的&#xff1a; 当网络结构比较简单时&#xff0c;只需配置静态路由就可以使网络正常工作。 在复杂网络环境中&#xff0c;配置静态路由可以改进网络的性能&#xff0c;并…

SpringBoot拉取高德行政区域数据

SpringBoot拉取高德行政区域数据 一、账号申请 1.整体流程 行政区域文档&#xff1a;https://lbs.amap.com/api/webservice/guide/api/district 整体流程可参考&#xff1a;https://lbs.amap.com/api/webservice/guide/create-project/get-key 2.注册账号 注册地址&#…

揭秘2023年全球软件架构师峰会:引领未来的技术潮流与PPT宝藏!

随着科技的不断进步和创新&#xff0c;全球软件架构师峰会&#xff08;ArchSummit深圳站&#xff09;作为国际知名的技术交流盛会&#xff0c;再次吸引了全球顶尖的软件架构师和技术领袖齐聚一堂。 本次峰会不仅展示了最前沿的技术动态&#xff0c;更为参与者带来了极具价值的…

202415读书笔记|《鲸鱼安慰了大海》——我不知道你爱不爱我 湖水想被青山拥在怀里

202415读书笔记|《鲸鱼安慰了大海》——我不知道你爱不爱我 湖水想被青山拥在怀里 辑一 我们一起站在山坡上开花辑二 野花唱歌给自己听辑三 星空给我留了位置后记 《鲸鱼安慰了大海》作者燕七&#xff0c;是在一个关注的友友那里知道的这本书&#xff0c;决定读下去&#xff0c…

C++(17.5)——list模拟实现扩展

在上篇文章中&#xff0c;实现了的大部分功能以及部分迭代器。本片文章将对剩下的功能进行补充。 1. const迭代器&#xff1a; 对于上篇文章中实现的迭代器只能使用于非类型的对象。对于类型的遍历&#xff0c;则需要额外编写类型的迭代器。例如对于下面的场景&#xff1a; …