热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

springboot接收前端的数组_一步一步学做测试工具(SpringBoot版)之四

一步一步做工具系列很久没有更新了,因为小编旧病复发----懒癌真是难以根治。是不是很像此刻看文章的你,想学习想进步,但就是放不下抖音、王者

一步一步做工具系列很久没有更新了,因为小编旧病复发----懒癌真是难以根治。是不是很像此刻看文章的你,想学习想进步,但就是放不下抖音、王者荣耀。2020年疫情导致大环境不好,到处都在降薪裁员,但是小编身边还是有不少优秀的小伙伴通过不断的学习,最终拿到大厂P7+的岗位,年薪直接翻倍。学习才是回报最大的投资,大家一起努力吧。

前三篇系列文章
一步一步学做测试工具(Spring Boot版)之一
一步一步学做测试工具(Spring Boot版)之二
一步一步学做测试工具(Spring Boot版)之三咱们逐步实现了接口冒烟测试工具最核心的部分 -- 生成冒烟测试用例

本篇咱们把冒烟测试功能包装成API服务的形式,通过postman等工具来实现一键冒烟测试。

工具架构

如图所示

0271ffe6d549b8a252253ad558cf6de4.png

从上图可以看出MC/DC服务具有的功能为:

用户将被测的API信息(如:url、post or get、parameter)通过http的方式传给MC/DC服务

MC/DC服务根据用户传递过来的被测API parameter生成符合MC/DC规则的一组 parameter

MC/DC服务再分别使用MC/DC parameter1、parameter2...对被测API进行http请求操作

MC/DC服务将接收的被测API的返回结果整合后,再返回给用户

简单来说,冒烟测试工具的核心就是MC/DC服务

1.接收用户传递信息

2.生成MC/DC规则的测试用例组

3.http请求被测API

4.整合被测API返回值

5.返回给用户测试结果

代码实现

看过本系列文章(Spring Boot系列一、二、三)并且跟着动手实践的小伙伴,应该已经掌握了生成MC/DC测试用例以及http请求的代码。

生成MC/DC规则的测试用例组(服务2)

McdcService 已经实现了生成MC/DC规则的测试用例组

http请求被测API(服务3)

当然前面是在单元测试中实现的http请求,咱们把这部分代码挪到service模块里来,稍加改造变成HttpService,用来请求被测API,实现http请求被测API

6f58e4f081b632090116d04a623661b5.png

整合被测API返回值(服务4)

因为是循环使用MC/DC规则的一组请求值,所以也就对应着一组返回值。整合思路:将两两对应的请求值与返回值作为一组json元素存入json数组,最终输出一个json数组。 [{request:parameter1, response:response1},{request:parameter2, response:response2}...] 实现数据模型代码如下:

5ff1d55a417ec71638dd3d250da3099a.png
5ed922c5abd4522c3353e81d0e05f261.png

McdcBody定义了一组两两对应的请求值与返回值。
McdcResponse定义json数组。@Data :注在类上,提供类的get、set、equals、hashCode、canEqual、toString方法。@AllArgsConstructor :注在类上,提供类的全参构造@NoArgsConstructor :注在类上,提供类的无参构造
上面三个注解来自lomboklombok 是一个工具类库,可以用简单的注解形式来简化代码,提高开发效率。但弊端是大大降低了源代码的可读性和完整性,降低了阅读源代码的舒适度,所以不建议初学者使用,初学者还是老老实实的手动实现以上功能。 @JsonProperty:注在属性上,作用是把该属性的名称序列化为另外一个名称。例如@JsonProperty(“status”)序列化为json时,“status”作为key, {“stutus”: “success”}

接收用户传递信息(服务1) &  返回给用户测试结果(服务5)

通过一个接口服务来接收用户传递信息,并且将MC/DC 服务2、3、4串联起来,得到结果,最终返回给用户测试结果

720ad48a5f6fbbeb978a15efac9c9e9e.png

至此整个服务就算阶段性的完成了!!!

冒烟工具使用

postman辅助

还是以查询电话区号的API为例:
启动冒烟测试工具
postman输入如下信息

b9b7c401cf8ffaedd483c78f0a43848d.png

MC/DC服务提供的是post服务,地址是http://localhost:8080/mcdcurl为被测API的地址method为被测API的请求方式initialParam为被测API的正确入参小伙伴可以仔细看看response是不是符合MC/DC规则的冒烟用例




推荐阅读
  • 在处理大规模数据数组时,优化分页组件对于提高页面加载速度和用户体验至关重要。本文探讨了如何通过高效的分页策略,减少数据渲染的负担,提升应用性能。具体方法包括懒加载、虚拟滚动和数据预取等技术,这些技术能够显著降低内存占用和提升响应速度。通过实际案例分析,展示了这些优化措施的有效性和可行性。 ... [详细]
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • 利用爬虫技术抓取数据,结合Fiddler与Postman在Chrome中的应用优化提交流程
    本文探讨了如何利用爬虫技术抓取目标网站的数据,并结合Fiddler和Postman工具在Chrome浏览器中的应用,优化数据提交流程。通过详细的抓包分析和模拟提交,有效提升了数据抓取的效率和准确性。此外,文章还介绍了如何使用这些工具进行调试和优化,为开发者提供了实用的操作指南。 ... [详细]
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • MySQL的查询执行流程涉及多个关键组件,包括连接器、查询缓存、分析器和优化器。在服务层,连接器负责建立与客户端的连接,查询缓存用于存储和检索常用查询结果,以提高性能。分析器则解析SQL语句,生成语法树,而优化器负责选择最优的查询执行计划。这一流程确保了MySQL能够高效地处理各种复杂的查询请求。 ... [详细]
  • 【实例简介】本文详细介绍了如何在PHP中实现微信支付的退款功能,并提供了订单创建类的完整代码及调用示例。在配置过程中,需确保正确设置相关参数,特别是证书路径应根据项目实际情况进行调整。为了保证系统的安全性,存放证书的目录需要设置为可读权限。值得注意的是,普通支付操作无需证书,但在执行退款操作时必须提供证书。此外,本文还对常见的错误处理和调试技巧进行了说明,帮助开发者快速定位和解决问题。 ... [详细]
  • 优化后的标题:深入探讨网关安全:将微服务升级为OAuth2资源服务器的最佳实践
    本文深入探讨了如何将微服务升级为OAuth2资源服务器,以订单服务为例,详细介绍了在POM文件中添加 `spring-cloud-starter-oauth2` 依赖,并配置Spring Security以实现对微服务的保护。通过这一过程,不仅增强了系统的安全性,还提高了资源访问的可控性和灵活性。文章还讨论了最佳实践,包括如何配置OAuth2客户端和资源服务器,以及如何处理常见的安全问题和错误。 ... [详细]
  • 利用PHP循环高效处理多条帖子表单数据 ... [详细]
  • C++ 异步编程中获取线程执行结果的方法与技巧及其在前端开发中的应用探讨
    本文探讨了C++异步编程中获取线程执行结果的方法与技巧,并深入分析了这些技术在前端开发中的应用。通过对比不同的异步编程模型,本文详细介绍了如何高效地处理多线程任务,确保程序的稳定性和性能。同时,文章还结合实际案例,展示了这些方法在前端异步编程中的具体实现和优化策略。 ... [详细]
  • 在 Axublog 1.1.0 版本的 `c_login.php` 文件中发现了一个严重的 SQL 注入漏洞。该漏洞允许攻击者通过操纵登录请求中的参数,注入恶意 SQL 代码,从而可能获取敏感信息或对数据库进行未授权操作。建议用户尽快更新到最新版本并采取相应的安全措施以防止潜在的风险。 ... [详细]
  • 在Linux系统中,网络配置是至关重要的任务之一。本文详细解析了Firewalld和Netfilter机制,并探讨了iptables的应用。通过使用`ip addr show`命令来查看网卡IP地址(需要安装`iproute`包),当网卡未分配IP地址或处于关闭状态时,可以通过`ip link set`命令进行配置和激活。此外,文章还介绍了如何利用Firewalld和iptables实现网络流量控制和安全策略管理,为系统管理员提供了实用的操作指南。 ... [详细]
  • 深入探索HTTP协议的学习与实践
    在初次访问某个网站时,由于本地没有缓存,服务器会返回一个200状态码的响应,并在响应头中设置Etag和Last-Modified等缓存控制字段。这些字段用于后续请求时验证资源是否已更新,从而提高页面加载速度和减少带宽消耗。本文将深入探讨HTTP缓存机制及其在实际应用中的优化策略,帮助读者更好地理解和运用HTTP协议。 ... [详细]
  • postman使用教程6引用随机变量
    前言在接口测试中,有些接口的请求参数具有唯一性,比如注册接口,注册一个账号后就不能重复注册了。为了能重复执行这个接口,可以 ... [详细]
author-avatar
别禳莴觞芯_737
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有