Postman从入门到精通----学习笔记(三)

目录

Postman接口关联的几种方式

设置全局变量

设置环境变量

Tests设置变量


  • Postman设置变量

设置变量是为了在多个接口之间形成关联,比如注册所使用的登录名或手机号在登陆时也会使用同一个参数值,以及后续还有更多与此参数相关联的操作,故需要使用postman设置变量形成多个关联。

  • Postman接口关联的几种方式

  • 设置全局变量

1、确定哪些要设置变量,点击右上角【设置】按钮

2、在弹出的管理窗口中选择【Globals】全局变量

3、设置变量名和值,并保存

添加成功,可在此处查看

4、调用全局变量

Globals全局变量可以用在集合或者单接口中。

注意:变量名切不可重复!如集合中的【Varlables】变量与【Globales】变量重复,将会优先使用【Globales】变量值。

  • 设置环境变量

1、添加环境变量

为了对比环境变量的使用效果,我们创建两个不同环境的变量,一个是测试环境的username,一个是生产环境的url

2、调用环境变量

情况一:

  1. 选用测试环境
  2. 调用生产环境的url变量
  3. 调用测试环境的username变量
  4. 点击【Send】

响应结果:失败

原因:在测试环境下只能调用此环境下的变量username,不能调用生产环境的url变量

情况二:

  1. 切换生产环境
  2. 调用生产环境的url变量
  3. 调用测试环境的username变量
  4. 点击【Send】

响应结果:成功,但获取到的username不是变量中设置的值,而是‘{{username}}’字符

原因:在生产环境下只能调用此环境下的变量url,不能调用测试环境的username变量,故将{{username}}作为普通字符参数处理

情况三:

  1. 切换生产环境
  2. 调用生产环境的url变量
  3. 调用全局变量{{name}}
  4. 点击【Send】

响应结果:成功,获取的变量值为全局变量中设置的name值

原因:全局变量在生产环境、测试环境以及No environment中都可以调用

  • Tests设置变量

通过tests先把接口的返回结果设置成环境变量,然后后续接口就可以通过环境变量的值进行关联

例:

在查询用户信息时需要获取登陆后的token、或cookie等信息

在tests下将获取到的token设置为环境变量:

  • 获取响应数据json对象

使用var关键词,定义一个变量jsonData(这是一个自定义的变量名,可以修改的),用来接收接口的返回结果

var jsondata = pm.response.json();
  • 从响应数据中获取token

再定义一个变量test(也可以是其他名字)

var test = Data.token;
  • 设置token

把test设置成环境变量token(环境变量名,也可以改成其他名,比如“aaaa”)

pm.environment.set("token",test)

运行过后,可以看到:

在测试环境下环境变量token值已经被取出来了

这个时候我们就可以在查询用户信息时直接调用了

点击【Send】后,接口返回成功

  • 问题探索

Token ,Cookie和Session的区别:

Cookie

cookie 是一个非常具体的东西,指的就是浏览器里面能永久存储的一种数据,仅仅是浏览器实现的一种数据存储功能。

cookie由服务器生成,发送给浏览器,浏览器把cookie以kv形式保存到某个目录下的文本文件内,下一次请求同一网站时会把该cookie发送给服务器。由于cookie是存在客户端上的,所以浏览器加入了一些限制确保cookie不会被恶意使用,同时不会占据太多磁盘空间,所以每个域的cookie数量是有限的。

Session

session 从字面上讲,就是会话。这个就类似于你和一个人交谈,你怎么知道当前和你交谈的是张三而不是李四呢?对方肯定有某种特征(长相等)表明他就是张三。

session 也是类似的道理,服务器要知道当前发请求给自己的是谁。为了做这种区分,服务器就要给每个客户端分配不同的“身份标识”,然后客户端每次向服务器发请求的时候,都带上这个“身份标识”,服务器就知道这个请求来自于谁了。至于客户端怎么保存这个“身份标识”,可以有很多种方式,对于浏览器客户端,大家都默认采用 cookie 的方式。

服务器使用session把用户的信息临时保存在了服务器上,用户离开网站后session会被销毁。这种用户信息存储方式相对cookie来说更安全,可是session有一个缺陷:如果web服务器做了负载均衡,那么下一个操作请求到了另一台服务器的时候session会丢失。

Token

token的意思是“令牌”,是用户身份的验证方式,最简单的token组成:uid(用户唯一的身份标识)、time(当前时间的时间戳)、sign(签名,由token的前几位+盐以哈希算法压缩成一定长的十六进制字符串,可以防止恶意第三方拼接token请求服务器)。还可以把不变的参数也放进token,避免多次查库

原文链接:https://blog.csdn.net/tobetheender/article/details/52485948

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值