接口测试平台176: 并发用例底层

简介: 接口测试平台176: 并发用例底层

时隔多日,随着中间插入的篇章【测试圈相亲平台】的完结,接口测试平台重新更新。不过最开始的篇章的很多设计都比较老旧了。大家其实可以不用一句一句跟,看个设计,混个眼熟,熏陶一下即可。

   而接口平台的搭建,其实我更推荐用【测试圈相亲平台】的技术来重构,不过本公众号系列暂时就不从头再来了。毕竟这个教程里融合了很多粉丝的热情投稿和献计献策,所以重构还是放在未来吧。我们先解决眼下的这个新的并发功能底层。


   回忆了一下上节,我们貌似一直在写具体步骤step的请求,现在回头一看,这代码量是真的庞大且复杂,毕竟功能点太多了。

image.png


   我们之前写到并完成了加密策略这步骤。

   

   接下来我们先把证书融合部分写完:

image.png


   然后再考虑这个写入数据库请求数据的问题。

image.png


注意,我们这里有俩部分红圈内都是关于写入报告数据库表的。因为我们设计逐步实现,所以判断下方的这个写入数据库的函数write_res是无用的, 请删除:

image.png


原因如下:


最终的报告是多个并发的用例合并,而每个用例此时又有n个小步骤,每个小步骤既有自己的请求数据,还要有返回值的断言。最终的结果统一起来,才是完整的报告。


   而整个wqrf_run_case.py文件,仅仅是负责一个用例的请求过程。最终控制多用例并发的功能和整合报告的功能 应该在它的上一层文件中实现。


   针对这种复杂的结构设计和高度定制化需求,市面上的一切已有单测框架都不会满足。所以我们只能走出自研这一步。


   既然wqrf_run_case.py文件只负责一个用例及旗下步骤的请求和结果,那么我们把这些结果存到数据库后,只代表一个用例的结果。所以上一层控制并发的时候,要去数据库提取出参与并发的用例的结果并合并。这就决定我们的数据库报告表的设计,只能以具体小步骤为基础单位 存放。


   比如这样:

步骤id
请求数据
返回数据
断言结果
129391
{}
{}
{}
491941
{}
{}
{}


上一层的函数在决定并发用例和整合结果的时候,就要从这个表中,提取出下面用例旗下的具体步骤的最新数据,并整合。


所以本节课我们需要先来设计下数据库表结构:

打开models.py:

image.png


先说下,这些自动为什么有的用默认值{}


因为在面对如此多维的数据存放在一个小小单元格的时候,最好的免失真办法就是用json字符串存储,所以我们之后从里面拿数据解析也是要把json拿出来转换为字典。但是为了防止如果为空字符串的情况转换字典报错,所以这里要设置成{} 即空json。


别忘了执行同步命令:

image.png


然后我们就可以把小步骤的请求数据放在这里面了,想放多少放多少。


image.png


今天内容到此结束。欢迎下期继续!


相关文章
|
23天前
|
移动开发 JSON Java
Jmeter实现WebSocket协议的接口测试方法
WebSocket协议是HTML5的一种新协议,实现了浏览器与服务器之间的全双工通信。通过简单的握手动作,双方可直接传输数据。其优势包括极小的头部开销和服务器推送功能。使用JMeter进行WebSocket接口和性能测试时,需安装特定插件并配置相关参数,如服务器地址、端口号等,还可通过CSV文件实现参数化,以满足不同测试需求。
106 7
Jmeter实现WebSocket协议的接口测试方法
|
23天前
|
测试技术
软件测试用例设计之微信群抢红包经典用例
作者在浏览招聘网站时遇到为微信群发和抢红包设计测试用例的问题,作为软件测试新手,作者通过实际体验并撰写测试案例来加深对业务的理解,并分享了测试案例表格。需要注意的是,该用例未考虑添加银行卡支付、红包类型选择及红包描述。
37 5
软件测试用例设计之微信群抢红包经典用例
|
23天前
|
JSON 移动开发 监控
快速上手|HTTP 接口功能自动化测试
HTTP接口功能测试对于确保Web应用和H5应用的数据正确性至关重要。这类测试主要针对后台HTTP接口,通过构造不同参数输入值并获取JSON格式的输出结果来进行验证。HTTP协议基于TCP连接,包括请求与响应模式。请求由请求行、消息报头和请求正文组成,响应则包含状态行、消息报头及响应正文。常用的请求方法有GET、POST等,而响应状态码如2xx代表成功。测试过程使用Python语言和pycurl模块调用接口,并通过断言机制比对实际与预期结果,确保功能正确性。
101 3
快速上手|HTTP 接口功能自动化测试
|
8天前
|
人工智能 测试技术 Python
基于 LangChain 的自动化测试用例的生成与执行
本章节详细介绍了如何利用人工智能技术自动化完成Web、App及接口测试用例的生成与执行过程,避免了手动粘贴和调整测试用例的繁琐操作。通过封装工具包与Agent,不仅提升了测试效率,还实现了从生成到执行的一体化流程。应用价值在于显著节省时间并提高测试自动化水平。
25 1
|
16天前
|
测试技术
基于LangChain手工测试用例转App自动化测试生成工具
在传统App自动化测试中,测试工程师需手动将功能测试用例转化为自动化用例。市面上多数产品通过录制操作生成测试用例,但可维护性差。本文探讨了利用大模型直接生成自动化测试用例的可能性,介绍了如何使用LangChain将功能测试用例转换为App自动化测试用例,大幅节省人力与资源。通过封装App底层工具并与大模型结合,记录执行步骤并生成自动化测试代码,最终实现高效自动化的测试流程。
30 4
|
23天前
|
JavaScript 前端开发 测试技术
ChatGPT与接口测试
ChatGPT与接口测试,测试通过
31 5
|
2月前
|
测试技术
基于LangChain手工测试用例转Web自动化测试生成工具
该方案探索了利用大模型自动生成Web自动化测试用例的方法,替代传统的手动编写或录制方式。通过清晰定义功能测试步骤,结合LangChain的Agent和工具包,实现了从功能测试到自动化测试的转换,极大提升了效率。不仅减少了人工干预,还提高了测试用例的可维护性和实用性。
47 4
|
2月前
|
网络协议 测试技术 网络安全
Python进行Socket接口测试的实现
在现代软件开发中,网络通信是不可或缺的一部分。无论是传输数据、获取信息还是实现实时通讯,都离不开可靠的网络连接和有效的数据交换机制。而在网络编程的基础中,Socket(套接字)技术扮演了重要角色。 Socket 允许计算机上的程序通过网络进行通信,它是网络通信的基础。Python 提供了强大且易于使用的 socket 模块,使开发者能够轻松地创建客户端和服务器应用,实现数据传输和交互。 本文将深入探讨如何利用 Python 编程语言来进行 Socket 接口测试。我们将从基础概念开始介绍,逐步引导大家掌握创建、测试和优化 socket 接口的关键技能。希望本文可以给大家的工作带来一些帮助~
|
2月前
|
网络协议 测试技术 网络安全
Python进行Socket接口测试的实现
在现代软件开发中,网络通信是不可或缺的一部分。无论是传输数据、获取信息还是实现实时通讯,都离不开可靠的网络连接和有效的数据交换机制。而在网络编程的基础中,Socket(套接字)技术扮演了重要角色。 Socket 允许计算机上的程序通过网络进行通信,它是网络通信的基础。Python 提供了强大且易于使用的 socket 模块,使开发者能够轻松地创建客户端和服务器应用,实现数据传输和交互。 本文将深入探讨如何利用 Python 编程语言来进行 Socket 接口测试。我们将从基础概念开始介绍,逐步引导大家掌握创建、测试和优化 socket 接口的关键技能。希望本文可以给大家的工作带来一些帮助~
|
2月前
|
SQL Java 测试技术
SpringBoot单元测试快速写法问题之PorkService 接口中的 getPork 方法的作用如何解决
SpringBoot单元测试快速写法问题之PorkService 接口中的 getPork 方法的作用如何解决
下一篇
无影云桌面