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

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姚二龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值