学习笔记-接口测试(postman、jmeter)

一、什么是接口测试

通常做的接口测试指的是系统对外的接口,比如你需要从别的系统来获取到或者同步资源与信息,他们会提供给你一个写好的接口方法供你调用,比如常用的app,用户同步这些在处理数据的时候需要通过接口进行调用。

webService接口和http api接口是最常见的两种接口方式,后者最常用,采用http协议,有get 和post请求方法,返回的数据是json类型,接口测试也可以说是功能测试,通过调用接口从数据库中获取到数据,返回回来。

二、前端和后端

前端和后端如果说成客户端与服务端比较好理解,在浏览器上打开一个网页,打开一个管理系统,在一个APP上操作,这些都属于前端,他的作用就是显示页面,操作页面,而处理这些业务逻辑功能比如说页面上的非空校验,业务逻辑功能能都是通过后端来实现的,而前端和后端的交互正是通过接口来交互的。

三、get请求和post请求的区别

get请求接口的请求数据是放在url里面的,post请求接口的请求数据是放在body里面的,get请求可以在浏览器中直接访问,而post请求只能借助工具完成

四、cookie和session

cookie是存放在本地的一个健值对 对应的是key-value,session是存放在服务端的一个健值对k-v

五、接口测试的依据

接口规范文档,接口文档至少包括

1、接口说明

2、调用url

3、请求方法(get\post)

4、请求参数、参数类型、请求参数说明

5、返回参数说明

六、HTTP状态码

每个发出去的http请求,都会返回一个状态码,用来标识这个请求是否成功,常见的状态码有以下几种:

1)200 2开头的表示请求成功

2)300 3开头的代表重点向

3)400 4开头的代表客户端发送的请求有语法错误

4)500 5开头的代表服务器有异常

七、通用接口用例

八、postman接口测试

1)get请求

请求参数可以在url后面直接传参,多个参数用&符号,url?x=x&xx=xx

header 用来传输一些额外的信息

例如:获取学生信息接口,postman测试操作截图

获取所有学生信息接口添加header信息,postman测试操作截图

2)post请求

例如登陆接口,包含内容:post请求方式,请求url,参数在body处填写,点击send返回数据

添加学生信息接口(入参是json类型),包含内容,请求url,post请求,参数在body内选择raw填写json串

学生金币信息充值接口,包含权限认证需要添加管理员权限cookie,操作内容包含请求url,选择Headers添加cookie,body添加参数

获取所有学生信息接口,添加header信息,操作包含内容,请求url,header添加Referer

文件上传接口

九、Jmeter接口测试

  1. jmeter查看结果树乱码?

到jmeter的安装目录bin目录下找到jmeter.properties,添加sampleresult.default.encoding=utf-8

重启jmeter

2)jmeter body data里面有乱码怎么解决?

到jmeter的安装目录bin目录下找到jmeter.properties,添加jsyntaxtextarea.font.family=Hack

重启jmeter

3)jmeter参数化

用户定义的变量

线程组-》添加-》配置元件-》用户定义的变量,添加名称,值,引用变量填写${变量名}

函数助数

选项-》函数助手对话框,选择函数功能,例如__random、__time ,选择后点击【生成】,把生成的函数字符串拷贝到请求数据中 ,__time生成的是时间戳,时间戳就是从计算机诞生那一天到现在过了多少秒,如果要转换其他日期格式,在函数助手框中取值处填写再生成

文件读取

线程组-》添加-》配置元件-》CSV Data Set config

4)jmeter压测指标

线程组-添加-聚合报告可以看到并发用户数、响应时间(越快越好)、tps(服务端每秒钟处理的请求数 越大越好)。

5)用JSON Path PostProcessor关联获取返回信息

安装JSON Path PostProcessor插件

请求-》添加-》后置处理器-》SON Path PostProcessor

根据返回json参数中的对应数据进行提取,例如sign对应的k值是login_info即$.login_info.sign

6)操作数据库步骤

1、安装mysql-connector-java-5.1.7-bin.jar,放到jmeter安装目录的lib目录下

2、测试计划-浏览,添加mysql-connector-java-5.1.7-bin.jar

3、线程组-添加-配置元件-JDBC Connection Configuration,填写数据库连接

4.线程组-添加-sampler-JDBC Request

选择操作类型,查询选择select statement 只限单条查询,如果多条查询可选择Callable Statement(不限格式)但除了最后一条sql,其他sql需要用;来结束, insert语句选择Callable Statement

相关推荐
CXDNW8 分钟前
【网络面试篇】HTTP(2)(笔记)——http、https、http1.1、http2.0
网络·笔记·http·面试·https·http2.0
使者大牙9 分钟前
【大语言模型学习笔记】第一篇:LLM大规模语言模型介绍
笔记·学习·语言模型
ssf-yasuo22 分钟前
SPIRE: Semantic Prompt-Driven Image Restoration 论文阅读笔记
论文阅读·笔记·prompt
As977_31 分钟前
前端学习Day12 CSS盒子的定位(相对定位篇“附练习”)
前端·css·学习
ajsbxi34 分钟前
苍穹外卖学习记录
java·笔记·后端·学习·nginx·spring·servlet
Rattenking35 分钟前
React 源码学习01 ---- React.Children.map 的实现与应用
javascript·学习·react.js
TeYiToKu1 小时前
笔记整理—linux驱动开发部分(9)framebuffer驱动框架
linux·c语言·arm开发·驱动开发·笔记·嵌入式硬件·arm
dsywws1 小时前
Linux学习笔记之时间日期和查找和解压缩指令
linux·笔记·学习
道法自然04021 小时前
Ethernet 系列(8)-- 基础学习::ARP
网络·学习·智能路由器
爱吃生蚝的于勒1 小时前
深入学习指针(5)!!!!!!!!!!!!!!!
c语言·开发语言·数据结构·学习·计算机网络·算法