美文网首页API自动化测试
接口测试-数据的传递

接口测试-数据的传递

作者: Jeff_9021 | 来源:发表于2020-07-08 10:22 被阅读0次

关键词:接口测试         数据的传递

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

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

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

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

globals()函数

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

print(globals())

# 用法

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

# 用例b引用

b = globals()["a"]

print(b)

unittest框架用例

使globals()函数实现用例之间的数据共享,比如用例a返回的结果写到globals()["a"]中,用例b调用globals()["a"]的值

import unittest 

import requests

class TestA(unittest.TestCase):

    def setUp(self):

        self.s = requests.session()

    def test_a(self):

        '''用例a'''

        result_a ="aaaaaa"

        # 用例a的返回值

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

        globals()["a"] = result_a        

        self.assertEqual(result_a,"aaaaaa")

    def test_b(self):

        '''用例b'''

        b = globals()["a"]

        # 引用用例a的返回值

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

        result_b = b+"111"

        self.assertEqual(result_b,"aaaaaa111")

if__name__ =='__main__':    

    unittest.main()

运行结果:

E:\python36\python.exeD:/jiekou9/debug/yilai.py..

----------------------------------------------------------------------

Ran 2 tests in 0.000s 

OK

用例b引用用例a的返回值:aaaaaa

但是这样会有个隐患:用例b是用来用例a的,所以用例有先后顺序,用例a先执行,用例b后执行

globals()优化

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

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

 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)

if__name__ =='__main__':    

    unittest.main()

运行结果

.用例b引用用例a的返回值:aaaaaa

.用例c依赖用例a和用例b

用例c的请求入参:aaaaaa

用例c的请求入参:aaaaaa111

.

----------------------------------------------------------------------

Ran 3 tests in 5.001s 

OK

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

jmeter实战实现数据传递

相关文章

  • 接口测试-数据的传递

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

  • 接口测试面试题

    1.什么是接口测试? 接口测试:是测试系统组件间接口的一种测试方法 接口测试的重点:检查数据的交换,数据传递的正确...

  • 接口测试面试题整理

    1.什么是接口测试? 接口测试:是测试系统组件间接口的一种测试方法 接口测试的重点:检查数据的交换,数据传递的正确...

  • 接口测试面试常见问题

    1.什么是接口测试? ·接口测试是测试系统组件间接口的一种测试方法。 ·接口测试的重点是检查数据的交换,传递的正确...

  • 超详细——接口测试总结与分享(一)

    1,接口的概念 1.接口是啥? 接口是传递数据的通道 接口测试:是测试系统组件间接口的一种测试 接口主要包括:同一...

  • 快速打造接口自动化测试框架

    1 接口测试介绍 接口测试是对系统或组件之间的接口进行测试,主要是校验数据的交换,传递和控制管理过程,以及相互逻辑...

  • 接口测试时遇到Java代码加密请求数据,用Python的我该怎么

    前言 自动化测试应用越来越多了,尤其是接口自动化测试。 在接口测试数据传递方面,很多公司都会选择对请求数据进行加密...

  • Soapui接口功能测试数据传递

    做接口测试经常会遇到如下两种情况需要处理数据传递 接口间的数据依赖,A接口请求的参数需要用到B接口的返回值 接口请...

  • 关于接口测试

    接口测试:重点检查数据的交换,传递和控制管理过程以及系统间的相互逻辑依赖关系 测试要点: 1.检查接口请求是否正确...

  • 一篇文章,教你彻底掌握接口测试!

    什么是接口测试 所谓接口,是指同一个系统中模块与模块间的数据传递接口、前后端交互、跨系统跨平台跨数据库的对接。而接...

网友评论

    本文标题:接口测试-数据的传递

    本文链接:https://www.haomeiwen.com/subject/rtyqcktx.html