接口测试总结


协议

HTTP完整的请求流程:

客户端与服务端建立tcp连接

客户端向服务端发送request请求

请求地址 

postman中:

 jmeter中:

请求方法

get:获取资源

post:添加数据    不单纯是添加还可以修改和删除

put:修改

delete:删除

请求参数

get请求:query params?如key1=value1&key2=value2

postman中:

 jmeter中:

请求头

user-agent:告诉服务端我是通过什么向你发送请求的

cookie:身份认证和网络反爬虫的机制

referer: 通过什么地方来发送请求

content-type:请求数据格式

键值对 key:value的形式

服务端response响应回复给客户端

协议状态码

200 ok

201 

204 删除

301 永久重定向

302 临时重定向

400 客户端问题 请求头请求参数

401 没有权限

403 有权限但是禁止访问

404 访问的资源不存在

405 不被允许的请求方法

500 服务端内部问题

504  网关超时

响应数据

业务状态码

msg

数据

响应头

content-type

set-cookie

客户端与服务端关闭tcp连接

状态以及流程

1.cookie&session&token区别:

cookie 数据存储在客户端

session 存储在服务端

token本质上是session的原理实现的

2.动态参数的关联

postman中的解决方案:

postman中通过tests定义??全局的变量来获取动态参数

解决这个问题首先我们考虑一个具体的场景:

1.假设一个登录系统,登录成功后,我们要查看个人主页,查看个人主页必须要先登录成功

2.我们登录成功之后会返回响应数据,在响应数据里面拿到token值

3.然后我们在tests里面定义一个变量来存储响应数据返回来的token

4.我们想要查看它的时候,用两个花括号调用这个变量

5.将登录和个人主页放到一个集合里面,有顺序的运行,也就是先执行登录接口,在执行查看个人主页的接口

jmeter的解决方案:

JSON提取器

正则表达式提取器

假设一个图书管理系统,可以进行增删改查,我们在登录成功之后,会返回一个token值,通过登录接口的后置处理器中json提取器或者正则表达式提取器,我们一般用json提取器,定义一个变量来存储登录成功后的token,在下个接口中我们在请求头当中调用这个变量。

API的测试维度

测试什么?

测试这个服务的业务场景

别?给你?个服务,怎么测试?

业务场景

请求参数带还是不带

请求参数类型

请求参数必填不填怎么样

有接口文档吗?

 有 YAPI平台 或者自己写的平台

没有接口文档怎么办?

用浏览器的network或者抓包工具charles抓包

API的验证

API测试主要是对哪几部分进行验证?

协议状态码、业务状态码、响应数据

登录接?OK可以说登录业务OK?

 不可以 登录的业务可能涉及很多接口

怎么区分是前端的问题还是后端的问题?

如果响应数据正确但是页面展示不正确就是前端的问题

如果野蛮展示正确但是响应数据不对那就是后端的问题

断言

断言:实际结果与期望结果的对比

postman中断言写在tests里面

jmeter中可以用json断言、json path断言、响应断言我们一般用json断言 模糊搜索时用响应断言

API的批量执?

postman中Newman的环境怎么搭建?怎么验证?

第一步:首先需要安装node.j

第二步:验证node.js的环境:控制台输入npm

第三步:安装Newman,命令:sudo npm install -g newman --register=https://registry.npm.taobao.porg

第四步:验证newman的环境:在控制台输入newman

postman测试报告怎么生成的描述下?

第一步:首先需要安装node.j

第二步:验证node.js的环境:控制台输入npm

第三步:安装Newman,命令:sudo npm install -g newman --register=https://registry.npm.taobao.porg

第四步:验证newman的环境:在控制台输入newman

第五步:将postman中的测试集合导出

第六步:生成newman的测试报告:先进入到测试集合的文件目录下,控制台执行: newman run 文件名

第七步:安装html的插件:npm install newman-reporter-html

第八步:生成html测试报告的:newman run 文件名 -r html

jmeter中ant环境怎么搭建?怎么验证?

第一步:官网下载安装ant ant需要java的环境得先搭建jdk的环境

第二步:配置ant的环境变量(将ant的目录配到path的环境变量)

第三步:验证ant的环境:控制台输入ant

build.xml到底是什么?

生成测试报告的文件

定义自动发送邮件

定义测试报告目录

定义测试脚本的路径

jmeter怎么生成测试报告的描述下

第一步:官网下载安装ant

第二步:配置ant的环境变量(将ant的目录配到path的环境变量)

第三步:验证ant的环境:控制台输入ant

第四步:jmeter里面创建一个tests文件夹tests里面创建report存放测试报告,再创建scrip存放测试脚本

第五步:配置build.xml文件 (修改jmeter的路径、收到测试报告的邮箱、测试脚本的路径以及脚本名称)

第五步:在jmeter的extras下找到ant-jmeter-1.1.1.jar把它copy到ant的lib目录下

第六步:打开jmeter的bin目录下的jmeter.properties文件,做如下修改:

把jmeter.save.saveservice.output_format=csv
修改为jmeter.save.saveservice.output_format=xml

第七步:进入到tests目录下控制台输入ant就会生成html的测试报告

相关