Requests 提取token
在做页面串行的时候 往往需要传入上个页面的数值
一般需要 token cookie session
提取方式大致相同
body:
data:默认表单格式
json:json格式
"""
import json
import requests
from random import randint
class My_request(object):
# token函数 调用函数就可获取token值 再用到新增接口
def get_token(self):
# 获取token
token_urls = 'http://47.96.181.17:9090/rest/toController'
payload = {'userName': 'J201903070064', 'password': '362387359'}
header_token = {'Content-Type': 'application/json'}
# 发送请求 json 请求体
res = requests.post(token_urls, json=payload)
# data表单格式比较麻烦
# res = requests.post(token_urls,data=json.dumps(payload),headers= header_token)
# 返回响应数据 输出字符串格式
# json.loads() 把字符串 转为字典对象 再通过键取值
# return json.loads(res.text)['token']
# 本身是字典形式的话 直接 .JSON
# 返回json 字典格式
return res.json()['token']
# ---------------------- 新增用户接口 ----------------------
class Register(My_request):
def __init__(self):
self.token = My_request().get_token()
self.addUsr_url = 'http://47.96.181.17:9090/rest/ac01CrmController'
self.payload = {
"aac003": "张三",
"aac004": "1",
"aac011": "21",
"aac030": f"134{randint(11111111,99999999)}",
"aac01u": "88002255",
"crm003": "1",
"crm004": "1",
"crm00a": "2018-11-11",
"crm00b": "aaaaaa",
"crm00c": "2019-02-28",
"crm00d": "bbbbbb"
}
self.header_addusr = {'Content-Type': 'application/json', 'X-AUTH-TOKEN': '%s'%self.token}
def requests(self):
#
# 发送请求 url 请求体
res = requests.post(self.addUsr_url,json=self.payload,headers = self.header_addusr)
print(res.json())
# 查看发出去的请求: fiddler,print打印
# 查看请求头
# print(res.request.headers)
# 引入完美打印
# import pprint
# pprint.pprint(res.json())
# 断言
try:
assert res.json()['message'] == '成功'
print(f'--接口pass,总共耗时{res.elapsed.total_seconds()}s--')
except Exception as e:
print(f'--接口fail,总共耗时{res.elapsed.total_seconds()}s--')
if __name__ == '__main__':
rg = Register()
rg.requests()
后期可以对数据进行断言 assert
# 断言
assert res.json()['message'] == '成功'
也可以进行完美打印
# import pprint
# pprint.pprint(res.json())
每次都需要更改参数会很麻烦 可以添加 随机区间
from random import randint
"aac030": f"134{randint(11111111,999999999)}",
也可加入耗时获取
# 断言
try:
assert res.json()['message'] == '成功'
print(f'--接口pass,总共耗时{res.elapsed.total_seconds()}s--')
except Exception as e:
print(f'--接口fail,总共耗时{res.elapsed.total_seconds()}s--')