python接口自動化4-常用取token值方法


前言

在接口測試中我們經常是需要一個登陸token,或者獲取其他用到的參數來關聯下一個接口用到的參數。這里介紹一些本人常用的方法。

一、簡介

不過在哪里我們也是能實現自動化api測試的,我們都知道token一般都會在這幾個地方:

1.返回參數的token;

2.返回頭部信息中;

3.上一個頁面中;

二、取 token 常用方法

1.在返回參數中,如json:

R_json = {
    "code": 200,
    "message": "登錄成功",
    "token": "ef135bce4284s45ab5967fdf22e81fa2"
}

print(R_json["token"])

 

2.在返回參數中還有,json嵌套list、json:

# 多層嵌套取token值
R_json = {"jjson": [
    {
        "code": 200,
        "message": "賬號或密碼錯誤",
        "token": ""
    },
    {"code": 200,
     "message": "登錄成功",
     "token": "ef135bce4284s45ab5967fdf22e81fa2"
     }
]}

print(R_json["jjson"][1]["token"])

 3.在返回參數中,是html或者是raw文本顯示的我們可以通過正則取到值:

常用的正則有以下三種:

①取中間:xxx(.+?)xxx

②取后面:xxx(.+?)$

③取前面:^(.+?)xxx

import requests
import re

# html 中常用到 re 取值
url = 'https://www.baidu.com'
s = requests.get(url)
res = s.content.decode('utf-8')

token = re.findall('href=//(.+?) name', res)    # 取中間
print(token)        # 取到的是 list
print(token[0])     # 所以我們一般[0],取第一個即可。

4.在響應頭部中

url = 'https://www.baidu.com/'
s = requests.get(url)
print(s.headers)                    # 如果token在返回頭部信息中我們可以這樣獲取
print(s.headers["Cache-Control"])
token = re.findall("no-cache, (.+?), ", s.headers["Cache-Control"])
print("token是:"+token[0])

看到了此,是不是覺得re正則還是很實用的呢?趕緊去隨便請求個接口拿到一個你想要的值吧!!!

歡迎來QQ交流群:482713805


免責聲明!

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



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