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

简介: 好,时隔半月的 实战系列继续更新。让我们先回顾下现在的进度:全局变量组的增删改查已经做完了。然后我们想先插入到接口调试层功能里。这其中涉及到 变量的占位 和替换。我们做了一个大字符串的替换公共函数。然后把url,header host等都塞进去换一遍出来,都成功了。

上节课最后我们说要开始弄复杂的body了。其实body也并不是很复杂,我们只需要记住:


body存在数据库的时候也是字符串的形式,虽然不同的请求体类型让他们长得像列表,像字典,但从数据库或前端刚提出来 都是字符串,而之前是在要发送实际请求时候,才会变成各种字典等格式。


而我们的替换,采用忠实替换法则的话,就是直接给它在字符串的时候,替换变量。然后如果变成字典等操作出错,那就是用户的问题,比如一个请求体如下:

   {"A":"zxc"}

用户想把这个zxc字符串用变量表示后,在body中这么占位:

   {"A":~value~}


然后我们忠实替换后变成

   {"A":zxc}

结果一json.loads,直接报错。那这就是用户使用问题。我们可以提示。

让他改成:

   {"A":"~value~"}

这样,再替换后就是:

   {"A":"zxc"}

就成功了。


所以我们现在打开我们的views.py,找到Api_send这个函数,也就是调试层发送请求。


可以看到我们的url,host,header等都经过了

global_datas_replace

这个公共替换函数的洗礼,现在我们把body也这么洗了。


微信图片_20220706203915.png

然后重启服务,开始去测试,我打开我的项目:

微信图片_20220706203937.png微信图片_20220706203949.png

可以看到,依然有俩组变量,一个数字,一个字符串:

我顺便给views加个print,看看实际的请求体替换结果:

微信图片_20220706204000.png

然后在接口调试层设置:

微信图片_20220706204005.png

请求看结果:

没有任何报错,因为请求的是x度,所以参数随便写,输出请求体也成功替换了,这里为什么123456不是整形呢?是因为form-data的关系,遵从postman的风格和行业依从性,用户输入的一切都按字符串处理。

微信图片_20220706204022.png

然后我们试试在raw-json这种常用情况下:

微信图片_20220706204030.png

注意,这里的设置,uuid外并没有加引号,因为它是整形的:

微信图片_20220706204038.png

输出如上图,可以看到 的确是忠实替换,123456变成整形也没错~



好了,本节内容到此结束。欢迎继续分享和追更。

相关文章
|
8天前
|
算法 Java 测试技术
使用 BenchmarkDotNet 对 .NET 代码进行性能基准测试
使用 BenchmarkDotNet 对 .NET 代码进行性能基准测试
40 13
|
18天前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
70 11
|
2月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
65 1
|
2月前
|
人工智能 供应链 安全
AI辅助安全测试案例某电商-供应链平台平台安全漏洞
【11月更文挑战第13天】该案例介绍了一家电商供应链平台如何利用AI技术进行全面的安全测试,包括网络、应用和数据安全层面,发现了多个潜在漏洞,并采取了有效的修复措施,提升了平台的整体安全性。
|
2月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
70 3
|
2月前
|
监控 安全 测试技术
构建高效的精准测试平台:设计与实现指南
在软件开发过程中,精准测试是确保产品质量和性能的关键环节。一个精准的测试平台能够自动化测试流程,提高测试效率,缩短测试周期,并提供准确的测试结果。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
150 1
|
3月前
|
人工智能 监控 测试技术
云应用开发平台测试
云应用开发平台测试
82 2
|
2月前
|
监控 安全 测试技术
构建高效精准测试平台:设计与实现全攻略
在软件开发过程中,精准测试是确保产品质量的关键环节。一个高效、精准的测试平台能够自动化测试流程,提高测试覆盖率,缩短测试周期。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
71 0
|
3月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
83 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
4月前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
280 7
Jmeter实现WebSocket协议的接口测试方法