python接口自动化测试-接口数据依赖问题解决

该代码示例展示了如何在Python的unittest测试框架中创建一个类来管理共享数据。在test_1方法中,从POST接口获取项目ID并存储为类属性。在test_2方法中,依赖这个项目ID进行GET请求,使用getattr()和setattr()方法进行数据交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

思路:创建类,定义一个类属性,定义为空,提取接口的返回值,通过setattar()方法存储到类属性里,下一个接口调用时,通过getattar()方法获取类属性的值

import unittest
 
import requests
class RelyData(object):
    project_id = None
 
class Test(unittest.TestCase):
    def setUp(self):
        pass
 
    def test_1(self):
        """添加项目接口"""
        url = "http://hy.gcjs.zdvictory.com/unionpro/unionpro/v-api/findByCode"
        headers = {'Content-Type': 'application/json'}
        datas = {"code": "2020-441621-05-01-010932"}
        response = requests.post(url, params=datas, headers=headers)
        print("response: ", response.json())
        result = response.json()
        # 给RelyData里面的project_id=None的类属性设置新的属性
        setattr(RelyData, "project_id", result['data']['code'])
        print(result['data']['code'])
 
    def test_2(self):
        """添加环境接口,需依赖添加项目接口返回的project_id字段数据"""
        url = "http://hy.gcjs.zdvictory.com/unionpro/unionpro/v-api/findByProjectCode"
        headers = {'Content-Type': 'application/json'}
        print(getattr(RelyData, "project_id"))
        datas = {
            # getattr(RelyData,'project_id'),取出里面的属性值
            "projectCode": getattr(RelyData, "project_id"),
            "isFilterDefaultProject":0
        }
        response = requests.get(url, params=datas, headers=headers)
        print("response: ", response.json())
 
 
if __name__ == '__main__':
    unittest.main()

最后:下方这份完整的【软件测试】视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值