多个用户权限来回切换执行
针对一部分业务场景,有时候会有好几种角色不同的执行权限 共同完成一个业务流程
举个栗子:
登录一个普通用户新增一个申请 ,然后一个评审人员登录 去审核这个申请,
如果申请通过 另一个检测员 进行操作检测
以上的业务流程 需要三个账户 切换执行才能完成
如何在接口测试框架中解决这样的 业务需求?
解决思路
requests中的Session类 可以管理一些共享数据 可以多实例化几个Session对象
一个实例化对象 管理一个账户的鉴权信息 在执行的时候 进行调度切换
import requests
#实例化Session对象
s = requests.session()
class Test_Run:
def test_01(self):
"""获取token"""
res = s.get(url='https://xxxxxxxxxxxxxxx/weixin/getPCToken?code=111111111')
token = res.json()['data']
headers = {
"Authorization":token
}
#把取到的token更新到请求头中 更新后再用这个实例化对象s请求 就带上了鉴权信息
s.headers.update(headers)
def test_GetRoot(self):
"""获取审核员账户信息"""
res = s.get(url='https://xxxxxxxxxxxxxx/tcdri/weixin/getLoginUser')
print(res.text)
返回值
返回信息太多 只展示部分
{"code":200,"data":{"id":2,"username":"zhutianwei","name":"竹某某","sex":1,"groupId":1,"postId":1,"wxId":"ZhuTianWei1111","qualifications":"开发","status":1,"workYear":1.0,"phone":"15010051933","fax":"80100360","major":"11","email":"111","technologyDate":"2020-06-01","technologyYear":2.0,"education":"本科","isDelete":1,"createTime":"2020-08-17 14:34:01","updateTime":"2020-08-17 14:34:18","remark":"1111","permissions":[{"id":44,"parentId":0,"name":"标准管理","css":"in-normal","href":null,"type":1,"permission":null,"sort":1,"remark":null,"child":null},{"id":1,"parentId":0,"name":"首页","css":"in-home","href":null,"type":1,"permission":null,"sort":1,"remark":null,"child":null},{"id":2,
调用实例化对象 获取并管理鉴权信息
封装好请求方法后 调用这些方法请求登录的接口 以获取鉴权信息 然后添加到请求头中
import requests
import pytest
s = requests.Session()#普通用户
s_root = requests.Session()#审核员
s_op = requests.Session()#检测员
url_bash = 'http