接口测试之:多接口测试,数据间传递问题

多个接口一起测试,数据涉及多接口之间传递时,对数据的处理有两种方法:

1)将前一个接口返回数据设置为全局变量globals()函数

函数介绍:globals()函数以字典类型返回当前位置的全部全局变量

函数用法:globals()函数实现用例之间的数据共享

比如:用例a返回的结果写到globals()["a"]中,用例b调用globals()["a"]的值

# 用法例a

globals()["a"] = "用例a的返回结果"

# 用例b引用

b = globals()["a"] print(b)

备注:当多个用例共享一份数据时,可以把globals()函数放到setUp前置里面。

当用例c的的请求参数依赖用例a和用例b时,使用太多的globals()会不太好关联,可以把globals()函数放到setUp前置里面

如下:用例c需要依赖a的返回值result_a和用例b的返回值result_b

class TestA(unittest.TestCase):

def setUp(self):

self.s = requests.session()

self.g = globals()

def test_a(self):

'''用例a'''

result_a = "aaaaaa"     # 用例a的返回值

# 返回值先给全部办理,存到字典对应key

self.g["a"] = result_a

self.assertEqual(result_a, "aaaaaa")

def test_b(self):

'''用例b'''

b = self.g["a"]    # 引用用例a的返回值

print("用例b引用用例a的返回值:%s"%b)

result_b = b+"111"

self.g["b"] = result_b

self.assertEqual(result_b, "aaaaaa111")

def test_c(self):

'''用例c'''

print("用例c依赖用例a和用例b")

c_a = self.g["a"]

c_b = self.g["b"]

print("用例c的请求入参:%s" % c_a)

print("用例c的请求入参:%s" % c_b)

2)利用configparser函数

a)configparser.ConfigParser().set(file_name, section_name, option, value)函数,将上一个接口的返回数据写入.ini文件中

b)configparser.ConfigParser().get(file_name, section_name, option)函数,从.ini文件读取数据

参考:https://www.cnblogs.com/yoyoketang/p/11241473.html

你可能感兴趣的:(接口测试)