以cookie为例
方法一:
将返回的cookie写到setUp()中,每次执行用例之前就会调用一次。
如:
class AA(unittest.TestCase):
def setUp(self): #生成cookie
#登录
self.login_url = "https://XXX"
self.login_data = {XXXX}
#cookie
self.cookie=requests.post(self.login_url,self.login_data,verify=False).cookies
def test_case_name(self): #创建用例
res=MM().ff("post",self.login_url,self.login_data,self.cookie) #调用self.cookie
def tearDown(self):
pass
方法二:
全局变量:
如:
COOKIE=None
class AA(unittest.TestCase):
def test_login(self): #产生cookie的用例
global COOKIE #必须声明全局变量,才能修改
res=MM().ff("post",self.login_url,self.login_data)
if res.cookies:
COOKIE=res.cookie
...
def test_othercase(self): #调用cookie的用例
global COOKIE #必须声明全局变量,才能修改
res=MM().ff("post",self.login_url,self.login_data,COOKIE)
...
方法三:
反射
首先要写一个GetData类
class GetData:
COOKIE=None #存放cookie
class AA(unittest.TestCase):
def test_login(self): #产生cookie的用例
res=MM().ff("post",self.login_url,self.login_data)
if res.cookies:
setattr(GetData,'COOKIE',res.cookies)
...
def test_othercase(self): #调用cookie的用例
res=MM().ff("post",self.login_url,self.login_data,getattr(GetData,'COOKIE'))