接口测试总结

接口测试总结

1、协议

TCP/IP的协议:最底层协议,网络传输层协议

websoket协议:客户端与服务端始终保持持久连接 不会断开

http:“超文本传输协议”

gRPC的协议

 

2、Http的完整请求流程

1、Client端对Server端,发起TCP三次握手(Client端发送请求报文,Server端收到连接请求,回复ACK报文并分配资源,Client端收到ACK报文并再次发送ACK 请求并分配资源。TCP连接建立)

2、Client端发送http请求,Server端收到请求后回复

3、关闭Tcp连接。

 

3、协议状态码

    200 请求成功


    301 永久重定向


    302 临时重定项


    400 Bad Request 客户端请求错误
      1、请求参数不对
      2、请求头不对
    401 Unauthorized 无权限访问该系统
    403 Forbidden 有权限但是禁止访问
    404 请求的资源不存在

      404NOT FOUND (请求的地址不存在,所以导致请求的资源也是不存在)


    405 不被允许的请求方法

      405METHOD NOT ALLOWED你请求的方法,没有定义对应的请求方法,但是你去进行访问


    500 服务器内部错误
      空指针 Null PointExpection 堆栈溢出 在测试选择项的时候,选择很多很多的项,同时触发,看是否会暴露该问题
      OOM(内存泄露) Out Of Memory
      其他异常:Expection


    504 GateWay Timeout网关超时

4、状态以及流程

cookie&session&token区别

cookie:主要是存储用户操作行为的数据,在早期的互联网产品中,用户登录系统的凭证都是由cookie来进行记录的,但是由于是存储在客户端的(本机的电脑),所以是不安全的,基本目前登录认证的凭证不会再使用cookie的技术了

session:由于cookie是存储在客户端的,它不安全,所以session是把登录成功后的数据存储在服务端

token:本质上是session的原理,我们可以把它理解为一个令牌,每次登录成功后,返回的token都是随机的字符串 jwt的技术来实现

 

cookie流程

 

 

session流程

1、客户端输入账户和密码,点击登录
  2、登录成功后,会在服务端把用户登录成功后的信息生成一个sessionid的凭证,并且存储在服务端
  3、然后服务端通过响应头中的set-cookie把生成的sessionid返回给客户端
  4、客户端再次查看个人主页,客户端会通过请求头中的cookie,把set-cookie返回的sessionid带上,发送给服务端
  5、服务端接收到客户端发送的sessionid,和存储在服务端的session ID作一个对比
  6、如果对比一致,用户可以继续反问系统的任何功能,如果对不一致,立刻跳转到登录的页面

token的流程

 1、客户端输入账户和密码,点击登录
  2、登录成功后,会在服务端把用户登录成功后的信息生成一个Token的凭证,同时了存储在服务端
  3、服务端会通过响应数据或者是响应头中的set-cookie返回给客户端
  4、那么客户端再次向服务端发送请求,会在请求参数或者请求头中的Authuration中带上返回来的token发送给服务端
  5、服务端接收到客户端发送的Token,和存储在服务端的Token作一个对比
  6、如果对比一致,用户可以继续反问系统的任何功能,如果对不一致,立刻跳转到登录的页面

 

5、怎么做接口测试?

1、发送Request的请求信息以及Response的响应信息:

通过:
1、使用浏览器的network
2、使用charles的工具
3、查看开发的接口文档(通过YAPI平台查看)

获取到我们想要的数据后

6、接口测试工具

 

6.1、postman

Postman 是一个很强大的 API调试、Http请求的工具

下载地址:https://www.getpostman.com

 

链接:https://pan.baidu.com/s/1TR73HyKzh9TQAuvdLj3Npg
提取码:9g6f

 

6.2、jmeter

1.什么是jmeter?

JMeter是100%完全由Java语言编写的,免费的开源软件,是非常优秀的性能测试和接口测试工具,支持主流协议的测试

2.jmeter能做什么?

1.JMeter是100%完全由Java语言编写的软件性能测试的GUI的测试工具,方便用户可以无代码的方式编写性能测试脚本。JMeter的特点可以总结为如下:

2.JMerer测试工具不仅仅可以做性能测试,也可以做API的测试,可以和构建工具整合起来,如Ant,Maven,以及CI工具的整合,以及也可以和Grafana可视化整合起来

3.JMeter支持多种协议进行性能测试,如HTTP,HTTPS,WS

 下载地址:Apache JMeter - Download Apache JMeter

 

链接:https://pan.baidu.com/s/1z5TfzW3vlTsXon79qmwkGw
提取码:z0lg

6.3、动态参数

6.3.1、postman里面我们通过在tests里面定义和调用

首先通过

pm.globals.set("variable_key", "variable_value");

定义一个全局变量,在通过

pm.globals.get("variable_key");

来调用这个全局变量。

6.3.2、在jmeter里面我们通过json提取器或者正则表达式提取器来完成这部分操作

posted @ 2022-01-19 10:33  晨^O^黎  阅读(93)  评论(0编辑  收藏  举报