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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM