接口测试平台代码实现131: 全局变量-10

简介: 本节开始要进入比较烧脑的阶段了,请系好安全带,中途跳车的请刷卡。

我们在之前章节已经把变量组 的增删改查 都弄好了。接下来就是应用到实际的请求中了。


那么我首先拿项目的接口库普通接口调试 开刀吧:

微信图片_20220706094910.png

我为了之后的拆分方便,新建了一个专门用来存放公共方法的py文件。

然后写好需要使用的方法导入:

微信图片_20220706094917.png

现在我们开始写一个方法,用来 替换url,header,请求体中的全局变量。

之后我们的用例库用例调试/异常测试/用例库用例执行等全都要调用它~


具体代码如下:

# 替换全局变量
def global_datas_replace(project_id:str,s:str) -> str :
    #根据项目变量去获得生效的变量组。
    global_data_ids = DB_project.objects.filter(id=project_id)[0].global_datas.split(',') #获取所有生效的变量组id
    global_datas = {}
    for i in global_data_ids:
        global_data = ast.literal_eval(list(DB_global_data.objects.filter(id=i).values())[0]['data'])
        global_datas.update(global_data)
    # 最终的gloabl_datas就是总变量池字典了
    #用正则找出所有需要替换的变量名称。
    # 处理url/header/data
    list_data = re.findall(r'~(.*?)~',s)
    for i in list_data:
        s = s.replace('~'+i+'~',str(global_datas[i]))
    #返回结果。
    return

其中利用了 字典更新,遍历替换 等方法,其中暂时全用字符串形式进行完成,后续可能会有变动。

(ps: 这个方法是非常有优化价值的方法,首先几乎所有的请求都会调用它不止一次,而且其中的优化空间非常大,博主只是写了个好理解的方法。正好给大家提供了素材,想写文章优化的抓紧了。)

然后我们去views.py中顶部 引入这个方法:

微信图片_20220706094923.png

然后我们先来测试下url替换好不好使

微信图片_20220706094928.png注意上图中,我利用api_id 找出了project_id,然后 给ts_url进行替换并打印。


再去做好俩个变量组:

微信图片_20220706094934.png微信图片_20220706094941.png

然后弄个简单的测试接口,我们只测试url就可以了:

微信图片_20220706094950.png

其中加入了俩个变量。然后请求看看效果:

微信图片_20220706095003.png

可以看到,url替换是成功了。

那么本节内容到此结束,欢迎小伙伴 继续关注~

相关文章
|
2月前
|
Java 关系型数据库 数据库连接
Mybatis+MySQL动态分页查询数据经典案例(含代码以及测试)
Mybatis+MySQL动态分页查询数据经典案例(含代码以及测试)
36 1
|
16天前
|
jenkins Devops 测试技术
单元测试与质量保证:确保Visual Basic代码的健壮性
【4月更文挑战第27天】在VB开发中,单元测试是保证代码质量和软件健壮性的关键。本文介绍了单元测试的基础,包括其定义和好处,如提高代码质量、促进重构。接着,讨论了MSTest、NUnit和xUnit等VB单元测试工具。遵循TDD原则和最佳实践,编写独立、有针对性的测试,并注重测试速度和覆盖率。通过示例展示了如何在Visual Studio中设置和运行测试。最后,提到了持续集成和自动化测试工具,如Jenkins和静态代码分析工具,以提升软件开发效率和质量。单元测试不仅是技术手段,更是提升团队协作和软件工程水平的文化体现。
|
1天前
|
数据挖掘 测试技术 网络安全
LabVIEW开发卫星测试平台
LabVIEW开发卫星测试平台
|
2天前
|
程序员 测试技术
程序员难以一次性写好代码并持续修复Bug,主要源于软件的高复杂性、需求不确定性、测试局限性和技术能力限制。
程序员难以一次性写好代码并持续修复Bug,主要源于软件的高复杂性、需求不确定性、测试局限性和技术能力限制。复杂的系统易产生意外问题,需求变化导致初始设计难完备,测试无法覆盖所有情况,而技术更新和个体能力差异也会引入错误。因此,持续调试和优化是保证软件质量的关键步骤。
5 0
|
2天前
|
算法 物联网 5G
LabVIEW开发最小化5G系统测试平台
LabVIEW开发最小化5G系统测试平台
10 0
|
2天前
|
算法 数据可视化 API
LabVIEWCompactRIO 开发指南33 测试和调试LabVIEW FPGA代码
LabVIEWCompactRIO 开发指南33 测试和调试LabVIEW FPGA代码
|
3天前
|
消息中间件 测试技术 Linux
linux实时操作系统xenomai x86平台基准测试(benchmark)
本文是关于Xenomai实时操作系统的基准测试,旨在评估其在低端x86平台上的性能。测试模仿了VxWorks的方法,关注CPU结构、指令集等因素对系统服务耗时的影响。测试项目包括信号量、互斥量、消息队列、任务切换等,通过比较操作前后的时戳来测量耗时,并排除中断和上下文切换的干扰。测试结果显示了各项操作的最小、平均和最大耗时,为程序优化提供参考。注意,所有数据基于特定硬件环境,测试用例使用Alchemy API编写。
10 0
linux实时操作系统xenomai x86平台基准测试(benchmark)
|
3天前
|
传感器 Linux 测试技术
xenomai 在X86平台下中断响应时间测试
该文讨论了实时操作系统中断响应时间的重要性,并介绍了x86中断机制和Xenomai的中断管理,包括硬件中断和虚拟中断的处理。Xenomai通过I-Pipe确保实时性,中断优先级高的Xenomai先处理中断。文中还提到了中断响应时间的测试设计,分别针对I-Pipe内核间虚拟中断和硬件中断进行了测试,并给出了在不同负载下的测试结果。
8 0
xenomai 在X86平台下中断响应时间测试
|
8天前
|
测试技术
使用CLion创建Cmake项目,使用GoogleTest和GoogleMock对代码进行测试
使用CLion创建Cmake项目,使用GoogleTest和GoogleMock对代码进行测试
20 3
|
11天前
|
Linux 测试技术 数据安全/隐私保护
CentOS安装MeterSphere并实现无公网IP远程访问本地测试平台
CentOS安装MeterSphere并实现无公网IP远程访问本地测试平台

热门文章

最新文章