Python登录接口获取token并保存到文件中
1.在项目下新建文件token.yaml文件,然后调用登录接口
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #!/usr/bin/env python # -*- coding:utf-8 -*- # 用pip3命令安装 import requests from ruamel import yaml import json def test_loginToGetToken(): host = 'http://xx.xx.xx.xx:xx/' #接口地址ip与port url = host + "login" #登录的参数数据 data = { 'userName' : '159592055xx' , 'loginType' : 2 , 'password' : '123123' } #登录请求头部信息 headers = { 'Content-Type' : 'application/json' } # 初始化url请求对象 response = requests.post(url = url, data = json.dumps(data), headers = headers) # print(response.text) # print(response.status_code) # print(response.json()["data"]["token"]) # return response.json()["token"] # 把token值写入配置文件中 yamlpath = r 'D:\autotest\api\628x\Token.yaml' #保存文件路径 #提取token字段 tokenValue = { 'token' : response.json()[ "data" ][ "token" ] } with open (yamlpath, "w" , encoding = "utf-8" ) as f: yaml.dump(tokenValue, f, Dumper = yaml.RoundTripDumper) if __name__ = = "__main__" : test_loginToGetToken() |
2.查看token.yaml文件
![](https://img-blog.csdnimg.cn/img_convert/0fc0681a6707125de4dbb112914255e7.png)
Python自动化实现获取token
在公共函数模块实现获取token函数,方便测试用例代码实现时直接调用拿到token值。
1、使用的模块
requests:第三方模块,用来发送http请求和获取返回的结果。
2、使用的方法
(1)requests的带参数get请求
1 | requests.get(url = ' ',params={' ‘: ' ‘,' ‘:' ‘}) |
(2)或:字典类型的post请求方法
1 | requests.post(url,data = { ' ‘:' ‘, ' ‘:' '}) |
(3)获取响应内容
json():以json格式获取接口响应内容
(4)获取响应内容中的token值
1 | json()[“data”][“token”] |
或:
1 | json().get(‘data ').get(‘token' ) |
响应格式:
![响应格式](https://img-blog.csdnimg.cn/img_convert/356ce9e531d177fecde7c24660189c8d.png)
3、代码实现
1 2 3 4 5 6 | import requests def getToken(): # 获取token函数 url = "http://ip:port/v1.0/interfaceUrl" data = { 'userName' : '****' , 'password' : '****' } r = requests.post(url, data = data) #发送post请求 return (r.json()[ "data" ][ "token" ]) # 将获取的token返回 |
4、获取token的URL从配置文件中获取
代码实现
1 2 3 4 5 6 7 8 9 | import requests from getUrl import get_url # 获取token def getToken(): #获取token的URL tokenUrl = get_url( "token" ) data = { 'userName' : '*****' , 'password' : '*****' } r = requests.post(tokenUrl,data = data) #发送post请求 return (r.json()[ "data" ][ "token" ]) # 将获取的token返回 |
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】
最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】
![](https://img-blog.csdnimg.cn/95749162638244baaca2b218fb74335a.png)
![](https://img-blog.csdnimg.cn/0edaf198db0444d19309d1de13f0b209.png)