接口测试token失效的问题

问题来源:

最近没事会接口测试的群里潜水学习,碰巧今天在接口自动化的群里有个好友问了一个问题,其实就是关于token的问题

1.首先是一个登陆接口,该接口是第一个接口所以不需要header,但是用脚本写的时还是要传一个header进去,所以我就传了一个浏览器默认的header解决了问题,其次对于form-data的入参类型要以data=的形式去传

2.当第一个问题解决以后他又来问我,说用登录返回的token去请求查询接口的时为什么有报错了,报错:token错误

  我当时就郁闷了,打印出来看发现token明明是正确的啊,为什么服务器返回token错误呢?

 我就想到了,可能是seesion的问题,可能是由于登录接口再另一个py文件中,调用请求查询接口时就是另外一个session了,

所以就来修改了一下脚本,将登陆和查询写在一个py文件中,用一个seesion去管理,代码如下:

#coding:utf-8
import requests

s = requests.session()
def chaxun():
    u'查询接口'
    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'
    }
    #发送请求
    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'
    #登录的入参
    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
    }
    #请求头部
    r = s.post(url_2,headers = header,data = in_data_2)
    print(r.json())

if __name__=='__main__':
    chaxun()

打印一下:

查询成功,问题解决!。。。。哈哈!

以此记录一下!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不过如此1951

如果有收获,可以打赏一下

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

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

打赏作者

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

抵扣说明:

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

余额充值