POSTman
435 字
2 分钟
POSTman
接口自动化
环境切换
测试/准生产/上线不同环境要切换,所以要定义对应的例如 IP 的值—引用 {{host}}:{{port}}
脚本与断言(token 类似变量自动更新)
前置函数知识:
pm.test("用例名称", function () {})Postman 标准测试块,第一个参数为测试用例描述,会展示在 Test Results 测试结果面板。pm.response.text()获取接口完整原始响应文本(字符串格式,不区分 JSON / 普通文本)。.to.include("finish")字符串包含断言:校验响应全文中必须存在指定字符串finish,不存在则测试失败。 断言示例
// 1. 包含指定关键词pm.expect(pm.response.text()).to.include("success");// 2. 不包含错误关键词pm.expect(pm.response.text()).to.not.include("error");// 3. 转小写忽略大小写匹配pm.expect(pm.response.text().toLowerCase()).to.include("finish");使用场景
登录接口执行后自动提取令牌,后续需要鉴权的其他业务接口Headers 中直接填 {{token}} 完成自动鉴权,实现接口流程自动化串联测试。
在对应登录的接口用例中的 script 栏编写以下参考代码:
pm.test("检查登录接口是否返回200状态码", function () { // 检查状态码 pm.response.to.have.status(200); // 获取响应结果 var jsonResult = pm.response.json(); // 动态设置 token 变量【collection 集合作用域】 pm.collectionVariables.set("token", jsonResult.token); #下列补充});变量作用域区分补充
| 方法 | 作用域 | 生命周期 |
|---|---|---|
pm.collectionVariables.set() | 集合 Collection | 整个测试集合内所有接口共享,关闭 Postman 前有效 |
pm.environment.set() | 环境 Environment | 当前选中环境下接口共享 |
pm.globals.set() | 全局 Global | 所有集合、所有环境通用 |
Runner 批量执行用例
前置:需要提前在每个接口用例写好断言,否则不知道是成功还是失败
支持与分享
如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!