由于公司的cookie是由登录接口返回的字段前端自己拼装而成的,所以需要自己组装cookie。
目标:
提取登录接口testcase里的返回值,作为全局变量。在debugtalk.py模块写一个函数组成cookie,后续所有case需要cookie的地方就调用这个函数,请问怎么实现
一个简单的实现思路,利用正则截取登录接口的返回值,拼接成cookie供其他业务调用
debugtalk.py
import json
import re
import requests
#拼接cookies
def get_cookie():
r = requests.post(url,data,headers).text
str = json.loads(r)
cookie = re.search(r'**正则表达式',str).group() + re.search(r'**正则表达式',str).group()
return cookie
test_*.py
from debugtalk import get_cookie
在pytest里,也可以使用fixture装饰器进行全局调用
conftest.py
import pytest
import json
import re
import requests
#拼接cookies
@pytest.fixture()
def get_cookie():
r = requests.post(url,data,headers).text
str = json.loads(r)
cookie = re.search(r'**正则表达式',str).group() + re.search(r'**正则表达式',str).group()
return cookie
test_* .py
def test_case(get_cookie):
pass
多谢,看了你的方案,我才发现之前把自己局限于testcase里处理这个问题了。我也可以在debugtalk里做一个登录请求,并保存cookie和header信息