Postman(11): postman定义公共函数

postman定义公共函数

在postman中,如下面的代码:

1、返回元素是否与预期值一致

var assertEqual=(name,actual,expected)=>{tests[`${name}:实际结果: ${actual} , 期望结果:${expected}`]=actual===expected;};

2、返回元素是否与预期值不一致

var assertNotEqual=(name,actual,expected)=>{tests[`${name}:实际结果: ${actual} , 期望结果:${expected}`]=actual!==expected;};

以上都是自定义的断言函数,每次在使用的时候都需要把代码进行复制粘贴,很不方便,可以使用公共函数来实现。

eval() 函数作用

可以接受一个字符串str作为参数,并把这个参数作为脚本代码来 执行。

举例如下:把代码转成字符串并做一个变量,然后通过eval(变量名)函数转成代码直接调用

//定义s为变量
var s = 'var a = 10; var b = 20;'
eval(s)  //把s变量的值转成代码;即a = 10;b = 20
tests[a+b] = true  //输出a + b = 30

//做断言,实际结果和预期结果一致
var common_function = 'var assertEqual=(name,actual,expected)=>{tests[`${name}:实际结果:${actual} , 期望结果:${expected}`]=actual===expected;};'
eval(common_function)
assertEqual("验证title是否正确",title,"猫_百度搜索")

如下操作完成公共函数的编写:

备注:只能使用var定义的函数,不能用con

### 如何在 Postman 中设置全局断言 在 Postman 中,可以通过 `Tests` 脚本模块实现全局断言的功能。全局断言是指针对所有请求都生效的通用验证逻辑,通常用于检查 HTTP 响应的状态码、响应时间或其他基础属性。以下是具体的方法: #### 使用 Pre-request Script 和 Environment Variables 配合 Tests 实现全局断言 为了使断言适用于多个请求,可以利用环境变量存储公共配置,并通过脚本调用这些变量。 1. **定义全局状态码断言** 在每个请求的 `Tests` 栏中编写以下代码片段,确保每次请求都会自动校验返回的状态码是否为成功状态 (2xx)[^4]: ```javascript pm.test("Status code is successful", function () { pm.response.to.have.status(200); }); ``` 2. **引入动态参数进行灵活断言** 如果需要对特定字段值做进一步确认,比如 JSON 数据中的某个键是否存在及其对应的值正确无误,则可参照下面的例子[^3]: ```javascript var jsonData = pm.response.json(); pm.test("Body matches string", function () { pm.expect(jsonData.value).to.eql("test"); }); ``` 3. **创建跨文件共享使用的函数库** 对于更复杂的场景或者重复性的操作流程来说,建议把常用的检验规则封装成独立的小工具类形式存放在 Collection 的根目录下作为公用资源供其他子项引用。 4. **应用全局变量简化管理负担** 当存在频繁变动的基础信息(如服务器地址)时,推荐采用 global 或 environment 变量机制替代硬编码方式写死固定字符串的做法[^2] 。例如设定 base URL : ```javascript const baseUrl = pm.globals.get('baseUrl') || 'https://example.com'; console.log(`Base URL set to ${baseUrl}`); ``` 综上所述,在实际开发过程中合理运用以上技巧可以帮助开发者快速搭建起一套高效稳定的 API 测试框架体系结构出来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值