登陆时登录成功后服务器会返回一个token,这个token作为第二步骤的入参;第二个步骤请求成功后服务器会返回一个新token,然后这个token作为第三步骤的入参!如此一来的话,要用postman做接口测试,那么就要解决token这个参数的关联问题:
第一,首先将这三个要测试的接口写成collection:

第二,要设置postman的环境,设置名称,url,以及token(只需要设置key就行),如下图:
 

第三步,在Postman软件的Tests中写以下代码,设置环境变量
 

第四步,修改第二以及第三个接口的入参的tokend值,格式用双花括号:{{token}} 格式
 

到此就设置完成了,我们选择登陆接口点击send,此时token就会显示在环境变量中了,这时第二个接口就可以执行了;然后再执行第三个接口,此时这个流程就可以跑通了!
 
 

总结:其实像这样的1步骤产生token,2步骤关联1步骤的token,3步骤关联2步骤的token,4步骤关联3步骤的token ,这种情况我也是第一次接触,这种情况与我司的项目不同,我司项目中只要token有效期内就行,不会存在步骤间这种紧密的依赖关系。
 如果把这种项目的接口写成自动化脚本的话也比较冗长,因为我要在一个py中同时从步骤1写到步骤4.这样代码比较长了,代码如下:

#coding:utf-8
import requests,unittest
 
def chaxun():
    u'查询接口'
    s = requests.session()
    url = 'http://183.59.xxx.xx:8080/restful/api/authentication'
    #登录的入参
    in_data = {
        'username': "sendi",
        'password': "2MDL010618",
        'appid':"HDC2054490406A"
    }
    #请求头部
    header = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
        'Connection': 'keep-alive',
    }
    #发送请求
    r =s.post(url,headers = header,data = in_data)
    #获取token
    t = r.json()['token']
    print('登录返回的token是:%s' % t)
 
 
 
    #'信息查询接口'
    url_2 = 'http://183.59.xxx.xx:8080/restful/api/custinfo'
    #请求头部
    header2 = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
        'Connection': 'keep-alive'
    }
    #查询的入参
    in_data_2 = {
        'customer':'佛山威立雅垃圾填埋处理有限公司',
        'elecode':'IPCYW2267381990',
        'elename':'IPCYW2267381990',
        'NEName':'高明杨梅杨梅二楼综合机房01/S-T64G-1',
        'portName':'gei_4/8',
        'disabled':0,
        'is_vip':0,
        'page':1,
        'pagesize':10,
        'token':t
    }
 
    r1 = s.post(url_2,headers = header2,data = in_data_2)
    print(r1.json())
    t1 = r1.json()['token']
    print('查询返回的token是:%s' % t1)
 
 
    url_3 = 'http://183.59.xxx.xx:8080/restful/api/custflow'
    # 登录的入参
    to1 = 'Bearer '+ t1
    # 请求头部
    header3 = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
        'Connection': 'keep-alive'
    }
    in_data_3 = {
        'customer': '广东丹姿集团有限公司',
        'elecode': 'IPCYW2270156401',
        'elename': 'IPCYW2270156401',
        'starttime': '2018061217',
        'endtime': '2018062418',
        'type': 0,
        'page': 1,
        'pagesize': 10,
        'token': t1
    }
    r3 = s.post(url_3, headers=header, data = in_data_3)
    print(r3.json())
 
 
if __name__=='__main__':
    chaxun()
转:https://blog.csdn.net/xgh1951/article/details/81665285

postman设置token等关联参数的更多相关文章

  1. postman设置token关联参数,其他接口直接读取token变量

    问题描述:有一个登录接口获取token,其他接口再次访问时都要带上token 解决方案: 步骤一:在登录接口访问后设置postman的环境变量,例如设置环境变量名:token,值为登录接口访问成功后, ...

  2. Postman 设置token为全局变量

    在做接口测试的时候,经常会用到不同用户登陆的token,来测试API,通过设置全局的token,这样更便捷: 注意设置的名称必须与你登陆后返回的名称一致,我这里是 AccessToken 1.配置环境 ...

  3. Jmeter压测学习2---提取token,并关联参数

    注意:我是根据我司的项目写的,这里作为一个笔记使用,不要照搬. 一般登录操作,都会有个token,我们要提取token作为参数,用于后面的操作. 接口的登录是返回一个json数据,token值在返回的 ...

  4. 转载:postman自动设置token(csrf及authorization token)

    原文链接: https://knktc.com/2018/06/03/postman-set-token/ 正文引用: 近期在开发一个Django的项目,由于开启了csrf防护,所以需要在请求的hea ...

  5. postman带Token测试接口

    首先打开postman.是这样的界面 我们的需求是这样的.实现登录之后返回token.然后请求其他接口时在header头中带上token信息. OK.接下来我们这样操作: 现在登录没有操作token. ...

  6. 与你相遇好幸运,Postman设置Header不生效问题解决

    POstMan安装地址 安装完 , Postman 设置Header的Referer不生效 , 提示 Restricted Header (use postman interceptor) 时 , 要 ...

  7. LoadRunner关联函数的脚本实例--如何操作关联参数

    LoadRunner关联函数的脚本实例--如何操作关联参数 这几天一直在学习LoadRunner的VuGen编程,今天想对关联函数web_reg_save_param做详细的试验和研究: ~f6p q ...

  8. qmake的使用(可设置c编译器flag参数)

    本文由乌合之众 lym瞎编,欢迎转载 my.oschina.net/oloroso***还是先说一下当前的系统环境:Ubuntu 14.04 + Qt5.4如果没有安装过QT,可以安装下面几个qt软件 ...

  9. RHCE 系列(二):如何进行包过滤、网络地址转换和设置内核运行时参数

    正如第一部分(“设置静态网络路由”)提到的,在这篇文章(RHCE 系列第二部分),我们首先介绍红帽企业版 Linux 7(RHEL)中包过滤和网络地址转换(NAT)的原理,然后再介绍在某些条件发生变化 ...

随机推荐

  1. Windows通过计划任务定时执行bat文件

    第一步 第二步 第三步 第四步 第五步 第六步

  2. Linux下编译生成SO并进行调用执行

    Linux下编译生成SO并进行调用执行 参考博客的博客: C编译: 动态连接库 (.so文件) - Vamei - 博客园 (cnblogs.com) C 多个动态库存在同名函数问题处理方法:-fvi ...

  3. java 多线程 发布订阅模式:发布者java.util.concurrent.SubmissionPublisher;订阅者java.util.concurrent.Flow.Subscriber

    1,什么是发布订阅模式? 在软件架构中,发布订阅是一种消息范式,消息的发送者(称为发布者)不会将消息直接发送给特定的接收者(称为订阅者).而是将发布的消息分为不同的类别,无需了解哪些订阅者(如果有的话 ...

  4. 网络编程socket 结合IO多路复用select; epool机制分别实现单线程并发TCP服务器

    select版-TCP服务器 1. select 原理 在多路复用的模型中,比较常用的有select模型和epoll模型.这两个都是系统接口,由操作系统提供.当然,Python的select模块进行了 ...

  5. Unhandled Exception: FormatException: Unexpected character

    错误原因 json格式不正确,检查:是否加了注释.最后一个是否加了逗号... 正确格式 { "name": "shellon", "age" ...

  6. cmake之错误【Modules/ExternalProject.cmake:3206 (_ep_add_download_command)....】

    本文的 cmake的version是3.18 本文环境: Ubuntu 64 + CMAKE 3.18 错误描述 1.错误内容 Modules/ExternalProject.cmake:3206 ( ...

  7. 【LeetCode】932. Beautiful Array 解题报告(Python)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 构造法 递归 相似题目 参考资料 日期 题目地址:h ...

  8. 「算法笔记」Polya 定理

    一.前置概念 接下来的这些定义摘自 置换群 - OI Wiki. 1. 群 若集合 \(s\neq \varnothing\) 和 \(S\) 上的运算 \(\cdot\) 构成的代数结构 \((S, ...

  9. SHARPENING (HIGHPASS) SPATIAL FILTERS

    目录 Laplacian UNSHARP MASKING AND HIGHBOOST FILTERING First-Order Derivatives Roberts cross-gradient ...

  10. Linux时间与日期

    date date:显示当前时间[年月日时分秒] date +%[选项] Y:年 m:月 d:日 H:时 M:分 S:秒 date "+%Y-%m-%d":格式化显示,格式可自定. ...