直播 20:00 开始

Postman接口测试训练营

转发直播间到朋友圈,右下角扫码进群找课程顾问领取奖品

互联网公司技术架构

分层测试体系

马丁福勒
测试金字塔

接口测试主要做什么?

接口测试不能取代 UI 测试

接口测试虽然有很多优点,但是保证的是后端工程师的产出质量,不能解决移动端的质量。

大前端工程师的产出质量只能通过前端测试保证

常见的接口协议

小练习

  1. HTTP和HTTPS使用的默认端口号分别是什么?

RESTful 软件架构风格

方法 意义
GET 获取资源
POST 新增或者更新
PUT 更新资源
DELETE 删除资源

HTTP 基本行为代表意义

HTTP 字段

发送 GET 请求

课堂练习

  • postman 中 GET 请求的请求参数应该填写在哪里
  • A. Params
  • B. Headers
  • C. Body
  • D. Tests

发送 POST 请求

  • 请求方式:POST
  • 请求 URL:https://httpbin.ceshiren.com/post
  • 请求参数
    • FORM 格式:Body --> form-data
    • JSON 格式:Body --> raw --> JSON
    • 文件格式:Body --> form-data --> File

课堂练习

  • postman 中发送 json 格式请求参数的 post 请求参数应该通过哪里传入
  • A. Params
  • B. Body --> form data
  • C. Body --> raw
  • D. Tests

get 与 post 区别

请求/不同点 GET POST
数据传递方式 数据通过标头传递 数据通过body传递
数据大小 数据大小限制为 255 个字符 数据大小没有限制
数据安全性 数据是通过 URL,传递因此不安全 数据是安全的,因为它没有被暴露「表单提交」
等待响应方式 GET 请求在发送下一个请求之前等待上一个请求的响应 POST 请求在点击下一个请求之前不会等待上一个请求的成功响应
是否缓存 可以缓存 不能缓存
是否添加书签 可以加书签 不能添加书签
性能 与 POST 相比,性能更好,因为这些值默认附加到 URL 与 GET 相比,性能效率较低,因为我们花了一些时间在 POST 请求中包含请求body体
参数的数据类型 只允许字符串数据类型 对数据类型没有限制
参数是否存储 参数存储在浏览器历史记录中 参数不会存储在浏览器历史记录中
点击重新加载按钮,数据变化 如果我们点击重新加载按钮,对数据没有影响 如果我们点击重新加载按钮,表单数据会重置
编码格式 使用 application/x-www-form-urlencoded 编码 对二进制数据使用 application/x-www-form-urlencoded 或 multipart/form-data

学习路线

运行测试集

  • 测试集页面 -> Run 按钮

查看测试结果

变量

  • Postman 中变量的种类与作用域
    • Data:在测试集中上传的数据
    • Environment:环境范围
    • Collection:集合范围
    • Global:全局范围
    • Local:在脚本中设置的变量

变量定义

  • 全局变量:Environments -> Globals
  • 测试集变量:测试集页面 -> Variables
  • 环境变量:Environments -> +

变量的使用

  • 请求 URL, Params 参数或 Body 表格或JSON/XML 文本中通过 {{变量名}} 使用
  • 在 Pre-request Script 和 Tests 脚本中使用封装好的语句获取或者设置对应变量
// 获取全局变量
var status = pm.globals.get("status");
// 输入到控制台
console.log(status)

// 获取测试集变量
var petId = pm.collectionVariables.get("petId");
// 获取环境变量
var url = pm.environment.get("baseURL");

// 设置全局变量
pm.globals.set("status", "sold");
// 设置测试集变量
pm.collectionVariables.set("petId", 0);
// 设置环境变量
pm.environment.set("baseURL", "");

变量的优先级

  • 优先级从高至低为:Data -> Enviroment -> Collection -> Global -> Local