0


测试进阶02-Postman接口测试实战应用

1. 接口测试概念

1.1 接口概念
   接口是前后端沟通的桥梁,数据传输的通道。如前端页面用户的请求,会发送给后端处理,处理后再通过接口响应回前端,实现用户的交互。

    倘若理解的比较抽象可以参考这篇图文详解博客:http://t.csdnimg.cn/qZvPi。
1.2 接口分类
    接口又分为内部接口和外部接口:
  • 内部接口为自己公司开发,分为上层服务接口、下层服务接口、同层接口。
  • 外部接口为第三方接口,例如购物平台支付的支付宝支付、微信支付、银行卡支付。
1.3 接口测试
    接口测试是根据提供的接口进行测试,确定对应的数据正确以及逻辑正确的过程,属于功能测试和灰盒测试,其实现的方式主要有两种:
  • 使用接口工具来实现:Postman、Jmeter。
  • 编写代码来实现:Python+Requests+开源框架。

2. HTTP协议

2.1 HTTP和TCP/IP协议
    HTTP协议和TCP/IP协议的定义:
  • HTTP(HyperText Transfer Protoco)为超文本传输协议,可传输文字、图片、音频、视频等。
  • TCP/IP(Transmission Control Protocol/Internet Protocol)为传输控制协议/网际协议,规定了通信的标准和方法,是保证网络数据完整传输的两个重要协议。
    HTTP和TCP/IP协议的工作流程:
  • 用户浏览网页时,浏览器发起HTTP请求,该请求经TCP封装成数据包。
  • IP协议指引数据包到达服务器。
  • 服务器响应后,TCP/IP协议栈将HTTP响应数据传回浏览器,浏览器解析HTML并展示给用户。
2.2 HTTP协议和HTTPS协议的区别

对比项HTTPHTTPS数据加密与安全性不加密,安全性较低通过SSL/TLS加密,提供更高安全性端口使用默认80端口默认443端口证书与资源消耗无需证书,资源消耗较低需要证书管理,资源消耗较高(因加密处理)

3. HTTP协议-请求

3.1 请求的组成
  • 请求行:请求方法(如GET、POST)、请求的URL和HTTP协议版本。
  • 请求头:一般由开发或服务器定义,数据不能更改。请求头中的Content-Type、Cookie数据非常重要。
  • 请求体:请求体包含要发送到服务器的数据,具体的数据类型取决于请求头中的Content_Type。

3.2 请求方法
    请求方法在HTTP协议中,定义了客户端与服务器之间交互的方式,HTTP/1.1协议中共定义了八种方法,常用的是GET和POST。

    请求方法在面试中经常出现,所以最好是弄明白并理解,也可以看http://t.csdnimg.cn/rjHkt这篇博客,写请求方法写的很详细。

序号方法用途1GET从指定的资源请求数据2POST向指定资源提交数据进行处理3PUT向指定资源上传内容以更新资源4DELETE请求服务器删除指定的页面或资源5HEAD类似于GET,但仅返回响应头6OPTIONS返回服务器针对特定资源所支持的HTTP请求方法7TRACE回显服务器收到的请求,用于测试或诊断8CONNECT保留给代理服务器,用于将连接改为管道方式

3.3 GET和POST的区别

对比项GETPOST数据传输方式URL传递参数HTTP消息的主体传输参数安全性参数暴露在URL中,安全性较低参数不会暴露在URL中,相对更安全数据大小限制URL长度的限制,数据量相对较小理论上没有数据大小的限制,但实际限制取决于服务器和客户端的配置缓存性可以被缓存默认不会缓存

3.4 POST请求参数的传递方式
    POST请求的参数在body中传递,有多种传值方式,需要根据头部参数的Content-Type的值来确定选择哪种方式传值。

Content-Type 取值Body 选择格式入参值的格式application/x-www-form-urlencodedx-www-form-urlencoded键值对multipart/form-dataform-data键值对,文件格式application/jsonraw-jsonjson格式application/xmlraw-xmlxml格式application/javascriptraw-javascriptjs格式text/plainraw-text文本格式text/htmlraw-htmlhtml格式

4. HTTP协议-响应

4.1 响应的组成
  • 状态行:HTTP协议的版本、状态码(200表示成功)、状态消息。
  • 响应头:响应头包含了多个字段,如Content-TypeContent-LengthDate等。(请求头和响应头都包含Content-Type,请求中Content-Type是告诉服务器参数的请求数据类型,响应中Content-Type是告诉客户端返回的数据的类型)。
  • 响应正文:响应正文是响应消息的实际内容,它可以是HTML文档、图片、视频文件、JSON数据等,具体取决于请求的资源和响应头中指定的Content-Type

4.2 常见的状态码
    状态代码(HTTP Status code)由三位数字组成,第一个数字定义了响应的类别,共分五种类别:

分类分类描述1信息,服务器收到请求,需要请求者继续执行操作2成功,操作被成功接收并处理3重定向,需要进一步的操作以完成请求4客户端错误,请求包含语法错误或无法完成请求5**服务器错误,服务器在处理请求的过程中发生了错误
更多状态码详解可以看博客http://t.csdnimg.cn/uf30t,以下是一些常见的状态码:
状态码描述状态码描述200响应成功204No Content(无内容)301资源(网页等)被永久转移到其它URL302Found(临时移动)404请求的资源(网页等)不存在403Forbidden(拒绝请求)500内部服务器错误503Service Unavailable(服务不可用)

5. cookie、session、token

  • Cookie 是服务器在浏览器端存储的一小段数据,用于识别用户身份或存储用户信息。
  • Session 是一种服务器端存储机制,用于跟踪用户的会话信息。
  • Token 是一种服务器生成的加密字符串,用于验证用户的身份或权限。
    Session和Cookie的区别:

对比项SessionCookie数据存放位置存储在服务器上存储在浏览器本地用户安全程度相对更安全,因为数据存储在服务器上存在被窃取的风险,因为数据存储在浏览器本地性能影响访问量增加时,会占用服务器的性能资源不会直接影响服务器性能,因为数据存储在客户端数据存储大小依赖于服务器的大小单个Cookie保存的数据大小有限制(一般不超过4K)
Token和Session的区别:
对比项TokenSession来源与定义开发者自定义的加密字符串HTTP协议规定的一种会话管理机制存储位置不一定存储在服务器上(可存储在任何地方,只要服务器能验证)总是存储在服务器上跨域能力可以跨域使用,因为与域名无直接关联与特定域名绑定,不可跨域使用

6. 接口测试流程

    接口测试也属于功能测试,对应的测试流程如下:
  • 分析接口测试文档
  • 编写接口测试用例
  • 准备接口测试数据
  • 执行接口测试用例-通过工具去执行
  • 得到测试结果-输出测试报告-工具自动生成

7. Postman工具安装

    Postman安装官网:Download Postman | Get Started for Free

    Postman安装教程参考:http://t.csdnimg.cn/7GUvB

    Postman界面介绍:http://t.csdnimg.cn/tdInW

8. Postman断言

    Postman断言就是通过编写JavaScript脚本来检验返回的响应数据是否符合预期。

    Postman断言的脚本代码可以看博客:http://t.csdnimg.cn/oNOsv、http://t.csdnimg.cn/wIrgy

9. Postman接口测试的导入导出

    Postman接口测试的导入:

    Postman接口测试的导出:

10. Postman实现变量参数化

10.1 环境变量
    设置环境变量方法一

    设置环境变量方法二

    引用环境变量

10.2 全局变量和局部变量
  • 全局变量:可以供Postman所有的工程使用,即所有接口都可以调用全局变量。
  • 局部变量:在Collection中去设置,即当前的测试集可以使用该变量,当和全局变量的变量名相同时,优先局部变量。
    设置全局变量

    设置局部变量

    引用变量的方法一致,在请求地址输入中添加{{}},括号内填写变量名,即可引用成功。

11. Postman实现文档参数化

  • 为什么需要文档参数化? 一个接口有多个组合情况,比如登录接口:要验证用户名正确,用户名错误,密码错误,密码为空等等,这就需要文档参数化。
  • Postman支持Json文档,txt文档,CSV文档。
  • 文档参数化可以批量管理数据(输入的数据,预期结果),批量测试。
    准备数据(一般添加数据后另存为txt、csv文件)

    引用文档

     打开Runner窗口,点击Data旁边的Select File按钮,导入准备好的参数化文件,点击Preview按钮,检查数据正确

    查看执行结

标签: postman 测试工具

本文转载自: https://blog.csdn.net/weixin_47170368/article/details/140183641
版权归原作者 -碎碎- 所有, 如有侵权,请联系我们删除。

“测试进阶02-Postman接口测试实战应用”的评论:

还没有评论