接口自动化测试实战
一. 接口关键性名词透析
1.token-令牌
- Token也是由服务器产生的,存在服务器的内存或硬盘中
- 由一套产生规则,会涉及到加密算法
- 【用Token 来实现登录】
- 开发提供一个获取Token接口,根据用户名+密码,获取一个Token值-返回一个Token(字符串)
- Token值服务器通过什么客户端的呢?
- 通过响应头给客户端。 ------ 次要
- 通过响应消息体传给客户端。 ---- 主要
- 通过Cookie传递给客户端 — 很少
获取token值
# 02 获取token值
import requests
import hashlib
# 1.项目的服务器地址+端口号
# from configs.config import HOST 报错
from config import HOST
# md5加密
def get_md5(password):
# 1.示例化md5加密对象
md5 = hashlib.md5()
md5.update(password.encode('utf-8'))
return md5.hexdigest()
"""
登录接口的特性:
1- 作为普通的接口测试
2- 需要获取token给后续接口关联
"""
# 接口自动化项目实战
class Login:
# 2.封装登录函数
def login(self,inData,getToken=False):
# 1. url
url = f'{
HOST}/account/sLogin'
# 2. 请求体---- 字典格式编辑
# 调用加密函数 字典修改值:字典名【键名】 = 新的值
inData['password'] = get_md5(inData['password'])
payload = inData # 可以不写
resp = requests.post(url, data=payload)
if getToken == True: #获取token值
return resp.json()['data']['token'] #token值
else: