postman設置token等關聯參數

登錄時登陸成功後服務器會返回一個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
相關文章
相關標籤/搜索