postman设置token等关联参数

coding

登陆时登录成功后服务器会返回一个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等关联参数 的全部内容, 来源链接: utcz.com/z/509888.html

回到顶部