unittest模块进行接口自动化的时候遇到以下场景:
但是每次用真实数据请求,数据库就会增加很多脏数据
所以就产生了数据一条龙服务:从新增到删除
涉及到了Unittest下个接口需要调用上个接口的返回值
网上翻阅了一堆博客都写得很难懂
好在我成功解决了参数调用问题,特来分享:
'''
整体思路:
1. SetUp():使用globals()函数定义全局变量
2. test_001中,使用 self.g['a'] ,将赋值结果存至全局变量
3. test_002中,使用变量接收全局变量并引用
'''
# 先导入 unittest, requests
import unittest, requests
class Test_case(unittest.TestCase):
def setUp(self):
# 定义全局变量使用globals()函数来 字典形式的
self.g = globals()
# 创建session()保持连接
self.s = requests.session()
def test_001(self):
num_1 = "123456"
# 1、请求获取响应对象
# 2、将响应结果提取出来,放到全集变量中
self.g['a'] = num_1
def test_002(self):
# 用一个变量去接收提取出来的全局变量
num_2 = self.g['a']
# 打印一下变量值
print("test_002取到的值为:" + num_2)
if __name__ == '__main__':
unittest.main()
-
响应结果如下:
C:\Users\86176\AppData\Local\xxxxxxxxxxxxx Launching unittests with arguments python -m unittest D:/PyCharm_Community/Asher/ZTHT_Api_Auto_Test/DIY_params/params_use.py in D:\PyCharm_Community\Asher\ZTHT_Api_Auto_Test\DIY_params Ran 2 tests in 0.001s OK test_002取到的值为:123456 Process finished with exit code 0