小笔记-简单但够用系列_接口测试-postman使用简记

本文详细介绍了Postman的各种接口测试元素,包括params、headers、body等参数的使用,以及pre-request script和tests的断言功能。还讲解了如何通过json提取器和正则表达式提取器进行数据提取,并提供了断言方法示例。此外,文章讨论了环境变量和全局变量的管理,以及如何利用newman生成接口测试报告。
摘要由CSDN通过智能技术生成

postman 接口测试元素

postman界面图

发送区

  • params
    get请求传参
  • authorization
    postman自带的鉴权功能
  • headers
    请求头
  • body
    post请求的传参输入
    • none:没有参数
    • form-data:既有文件也有键值对
    • x-www-form:只传键值对
    • raw: 传 json,txt ,xml,html.js
    • binary: 将文件以二进制传输
  • pre-request: script 接口请求之前的脚本,js
  • tests: 断言的代码
  • cookies
    postman的cookies管理器
  • code : 用于编写生成接口自动化脚本

接受区

  • body
    • pretty: json格式展示
    • raw: 文本格式展示
    • preview: 以网页格式展示
  • cookies:返回的cookie信息
  • headers:响应头
  • test results:断言结果
  • status:状态码
  • time:耗时
  • size :字节数

postman内置动态参数

用于接口测试时的动态写入的参数。postman内置的一些参数,按需适用。如一个接口执行多次,传输不同的内容,如名称。
时间戳: {{KaTeX parse error: Expected 'EOF', got '}' at position 10: timestamp}̲} 生成0~1000随机整数:…randomInt}}
生成一个GUID字符串: {{$guid}}

全局变量与环境变量

用于多测试环境情况,运行时不需要一个个用例修改地址。
可创建多环境变量:test1, test2,test3,然后执行的时候选择如 test1, 则适用 test1中的具体变量值执行用例。
postman右上角可创建和选择。

环境变量也是全局变量,只是一般用于环境。

使用方法 {{IP}} {{name}} {{变量名称}}

接口关联

json提取器

通过断言获取一个动态的全局变量

断言功能可以帮助获取到所需信息,如上一接口的返回值需要在另一接口中使用。

模拟示例:
某接口返回为json格式的键值对,{“access_key”:"xxxxxxxx","time":"xxxx"}
//通过responseBody获取接口返回的值
//使用json.parse()转换为json格式
var jsvalue = json.parse(responseBody)
// console.log() 使在控制台中输出,可以作为临时验证
console.log(jsvalue)
console.log(jsvalue.access_key)
//将提取的值保存为全局变量,可在右侧选择 set a global variable 获取方法函数
pm.globals.set("access_token",jsvalue.access_key);
//获取到的 access_token 变量可在其他用例中使用, 引用 {{access_token}}

正则表达式提取器

模拟示例:
某接口返回为json格式的键值对,{“tag”:{"id":"xxxxxxxx","time":"xxxx"}}
//通过responseBody获取接口返回的值
//使用responseBody.match 对获取的值进行匹配,匹配获取到的为数组
//使用 new RegExp('规则内容') 创建一个新的正则表达式规则
var flagid = responseBody.match(new RegExp('"id":(.+?),'))[1]
//上述规则匹配获取的是(.+?)中的内容,输出数组中的1位置的值
// console.log() 使在控制台中输出,可以作为临时验证
console.log(flagid)
//将提取的值保存为全局变量,可在右侧选择 set a global variable 获取方法函数
pm.globals.set("flagid",flagid);
//获取到的flagid 变量可在其他用例中使用, 引用 {{flagid}}

cookies提取器

var token = postman.getResponseCookies('token');
pm.globals.set("token",token);

断言/检查

有对应的断言模块可选择,点击即可出现对应代码,断言有针对单个测试用例的,也有针对整个用例集的全局断言(用例集右键编辑,tests设置全局断言)

  • 断言返回码检查(Status code:code is 200) 一般用于状态码检查/断言
  • 断言返回结果中包括有一个指定的字符串(Response body: Contains string) 一般用于业务断言
  • 对返回的结果做json字段数据(键值对)检查(Response body: JSON value check) 一般用于业务断言
  • 断言返回的结果等于一个字符串(Response body: Is equal to a string) 一般用于业务断言,精确断言时可与pre-request 前置脚本一起使用
  • 断言响应头中包含指定的响应头(Response headers: Content-Type header check) 不常用
  • 断言接口请求的时间不少于200毫秒(Response time is less than 200ms 一般用于性能断言
  • 断言一个post请求的返回状态码是否在指定的范围里(Status code: Successful POST request) 不常用
  • 断言返回的状态码信息中包含指定的字符串(Status code:code name has string) 不常用

运行报告

如需生成一个具有可读性的报告,而不是postman运行后的结果查看,可安装 newman 进行接口用例运行并生成报告。

  • 安装 newman
  • 导出 postman 接口用例为 json(注意将环境变量和全局变量也导出保存)
  • 执行 newman 生成报告
newman run "d:\\apitest.json" -e "d:\\env.json" -g "d:\\global.json" -r cli,html,json,junit --reporter-html-export "d:\\apitest_report.html"

如有需要,newman 亦可于持续集成平台,如 jenkins 做集成,作为接口自动化定时执行,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值