postman在后置处理器里面如何引用全局变量

问题描述:

        1.在postman里面调试接口,做断言的时候通过{{变量名}}的方式引用全局变量失败,提示not defined

postman在后置处理器里面如何引用全局变量_第1张图片

 

postman在后置处理器里面如何引用全局变量_第2张图片

 

产生问题的原因:

        1.在断言里面引用全局变量的时候需要提前获取,以及在字符串里面全局变量的写法不一样

postman里面不同位置引用全局变量会有变化

# 提前定义全局变量

// 1.提前定义全局变量
pm.globals.set("ip12", "192.168.0.1")      // 定义全局变量ip12

// 2.引用全局变量
// 1)在body和url里面引用全局变量,直接用两个大括号引用{{变量1}}
// 例如:http://{{ip}}/fafa/index.php?ctl=user&act=doregister

        1.在url的位置和body里面去引用全局变量的时候可以直接使用{{变量名}}的方法去引用

                postman在后置处理器里面如何引用全局变量_第3张图片

        2.在tests断言里面去引用全局变量

                1)先获取全局变量的值并赋值给一个新的变量

                2)如果是在字符串里面去引用,就需要用`${变量名}`的方法去引用

                3)例如:"这是一个字符串,"+`${ip14}`+"是服务器的ip地址"      # ip地址引用全局变量,后面的数据需要用+号去拼接,代码如下:

// 正确的写法先获取全局变量的值并赋值给变量,之后去引用
var ip14 = pm.globals.get("ip12")          // 获取全局变量ip12的值,赋值给新的变量ip14
console.log(ip14)                          // 输出ip14的值

var ip15 = "这是一个字符串,"+`${ip14}`+"是服务器的ip地址"
console.log(ip15)

// 1.在前后置处理器中引用全局变量需要提前获取全局变量的值
// 例如:var 新的变量名 = pm.globals.get("全局变量名")

// 2.在字符串里面引用变量的时候用    `${变量名}`
// 特别注意,因为在字符串里面,所以前后需要用+号去把前后字符串拼接起来

你可能感兴趣的:(postman,postman,测试工具)