基于Springboot实现的自动化测试平台
Posted 编程指南针
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Springboot实现的自动化测试平台相关的知识,希望对你有一定的参考价值。
项目编号:BS-XX-063
运行环境:
开发工具:IDEA / ECLIPSE
管理工具:MAVEN
数据库:mysql5.7
应用服务器:TOMCAT8.5.31
开发方式:前后端分离
开发技术:
后台:Springboot+springmvc+mybatis-plus
前端:Vue
本系统选题新颖,技术先进,采用前后端分离的方式开发实现,后台开发采用Springboot开发,前端开发采用VUE开发。功能全面,页面简洁大方,是一款优秀的毕业设计作品。
本文主要基于研究的目的,实现了一个自定义的接口管理平台,并可以在这个接口管理平台上实现接口的自动测试功能。有了这套接口管理平台,软件项目开发时,就可以将项目开发的接口通过这个平台来进行管理,就不用再像以前用WORD文档来管理了。一是原来的这种管理方式十分不便,二是当接口修改变更时不能及时发布同步更新。而新的接口管理平台上线,则有效的解决了这一问题,前端和后端开发人员可以通过平台实时查看接口说明和标准,并及时收到接口的更新变化,并可以在平台上模拟数据进行接口测试。这无疑对我们软件开发的接口管理和测试带来了极大的便利。
本毕业设计采用前后端分离的方式开发实现,系统后台使用Springboot作为系统后台开发的主要使用技术,结合Springmvc和Mybati-plus来进行自动化接口测试平台的后台开发。系统前端采用Vue脚手架开发实现,基于NodeJs环境运行,使用Axios远程调用后端服务接口来实现。通过对相关技术的研究学习,最终完成了一个完整的接口管理平台,并可以实现在线接口测试功能。
系统使用Springboot创建开发项目,使用Springmvc完成请求处理,使用Mybatis-plus完成持久层开发,使用Maven来管理后台相关依赖库;使用Vue-cli搭建开发前端工程,使用Nodejs作为前端运行环境,采用NPM来管理前端的相关依赖库;使用RestTemplate来完成对接口的http请求调用。
系统整体的架构图
系统功能模块图
下面我们详细介绍一下这些模块的具体实现功能:
-
-
-
- 用户管理模块:此模块主要实现对系统用户的管理,主要完成用系统操作用户的新增和查询操作。
- 项目管理模块:此模块主要实现对项目的信息管理功能。管理员登陆系统后可以添加要进行测试的项目信息,可以根据需要进行查询、修改或删除项目信息。
- 模块管理功能:此模块主要实现对项目的功能模块管理功能。管理员登陆系统后可以添加要进行测试项目的功能模块信息,可以根据需要进行查询、修改或删除项目功能模块信息。
- 接口管理功能:此模块主要实现对项目中定义的接口进行管理。管理员登陆系统后可以添加要进行测试项目的接口信息,可以根据需要进行查询、修改或删除项目接口信息。
- 测试管理功能:此模块主要实现对对定义的测试用例和测试合集进行管理。管理员登陆系统后可以添加为测试设计的测试用例信息,可以根据设计好的测试用例实现在线执行测试。也可以添加测试合集,同时测试多个接口的功能,并将测试的结果记录在数据库表中。
-
-
3.2 主要功能模块的设计与实现
3.2.1 用户管理
用户管理模块主要实现了系统用户的管理功能,管理员进入系统后台可以在左边的菜单中选择用户管理模块,进入后可以对用户进行添加操作。也可以根据需要输入组件条件进行搜索查询列表,列表中的用户以分页的形式显示,主要展示用户的姓名、昵称、性别、电话、邮箱、用户类型、创建时间信息。
系统的运行实现如下图3-3所示:
图3-3 用户管理模块
用户管理模块的核心代码如下:
列表查询直接调用UserInfoService的page方法,而UserInfoService又继承使用了Mybatis-plus所封装的业务实现类ServiceImpl,所在不必再定义page方法,十分方便快捷。
3.2.2 项目管理
项目管理模块主要实现了对于参与测试的软件项目信息的管理功能,管理员进入系统后台可以在左边的菜单中选择项目管理模块,进入后可以对待测试的项目进行添加、修改、删除操作。也可以根据需要输入组件条件进行搜索查询列表,列表中的项目以分页的形式显示,主要展示项目名称、创建时间、修改时间、项目说明信息。
系统的运行实现如下图3-4所示:
图3-4 项目管理模块
项目管理模块的核心代码如下:
列表查询直接调用ProjectInfoService的page方法,而ProjectInfoService又继承使用了Mybatis-plus所封装的业务实现类ServiceImpl,所在不必再定义page方法,十分方便快捷。
项目管理模块的核心代码如下:
列表查询直接调用ProjectInfoService的page方法,而ProjectInfoService又继承使用了Mybatis-plus所封装的业务实现类ServiceImpl,所在不必再定义page方法,十分方便快捷。
3.2.3 模块管理
模块管理模块主要实现了对于参与测试的软件项目中相关的功能模块的管理功能,管理员进入系统后台可以在左边的菜单中选择模块管理模块,进入后可以对待测试的功能模块进行添加、修改、删除操作。也可以根据需要输入组件条件进行搜索查询列表,列表中的项目以分页的形式显示,主要展示模块名称、模块运行的IP地址、模块所属项目名称、修改时间、创建时间信息。
系统的运行实现如下图3-5所示:
图3-5 模块管理模块
模块管理的核心代码如下:此处展示模块的添加操作,查询功能同上面两个模块相拟。
通过@RequestBody注解得到前端请求的请求体数据直接封装到SaveModelPO对象中,然后调ModuleInfoService的saveOrUpdate方法实施保存操作。此方法仍然是Mybatis-plus框架所提示的业务封装实现类ServiceImpl中所定义,我们直接继承使用即可。如果数据库中有相关的对象信息,则执行更新操作,如果没有,则执行插入操作。
3.2.4 接口管理模块
接口管理模块主要实现了对于参与测试的软件项目中相关的接口的管理功能,管理员进入系统后台可以在左边的菜单中选择接口管理模块,进入后可以对待测试的接口进行添加、修改操作。也可以根据需要输入组合条件进行搜索查询接口信息列表,列表中的接口以分页的形式显示,主要展示接口名称、参数类型、请求方式、请求路径、所属模块、所属项目、接口说明、创建时间、修改时间。
系统的运行实现如下图3-6所示:
图3-6 接口管理模块
接口管理的核心代码如下:此处展示模块的添加操作,查询功能同上面两个模块相拟。
通过@RequestBody注解得到前端请求的请求体数据直接封装到SaveModelPO对象中,然后调InterfaceInfoService的saveOrUpdate方法实施保存操作。此方法仍然是Mybatis-plus框架所提示的业务封装实现类ServiceImpl中所定义,我们直接继承使用即可。如果数据库中有相关的对象信息,则执行更新操作,如果没有,则执行插入操作。
3.2.5 测试管理
测试管理模块主要实现了对于设计的测试用例的管理功能,管理员进入系统后台可以在左边的菜单中选择测试管理模块,此模块包含两个子模块,分别是用例管理和测试集合管理。用例管理主要实现对单个用例的管理功能,测试集合可以定义一个用例集合,一起测试集合的所有测试用例。在用例管理模块进入后可以进行添加测试用例、修改测试用例操作。也可以根据需要输入组合条件进行搜索查询测试用例信息列表,列表中的测试用例以分页的形式显示,主要展示测试接口名称、参数类型、请求方式、请求路径、IP地址、所属模块、所属项目、接口说明、创建时间、修改时间等。点击执行可以在线执行测试接口运行结果,并可以在详情中查询用例定义及其测试的结果详情信息。在详情页面可以自己根据接口定义的参数类型添加测试参数数据并展示测试结果。
系统的运行实现如下图3-7、3-8所示:
图3-7 测试用例列表
图3-8 测试用例详情
用例管理的核心代码如下:主要展示用例执行调用接口的方法
测试合集则主要是将多个测试用例集成到一起进行测试管理,以便测试一些接口的依赖相关性。在测试合集管理模块进入后可以进行添加测试用例合集操作。也可以根据需要输入组合条件进行搜索查询测试用例合集信息列表,列表中的测试用例合集以分页的形式显示,主要展示测试合集名称、合集中的测试用例ID列表、创建时间等。点击执行可以在线执行合集内所有接口运行结果,并可以在详情中查看合集内用例的列表信息,并可以在此处添加合集内的测试用例并查看合集内单个测试用例的执行结果。
测试合集的运行结果如下图3-9、3-10所示:
图3-9 测试合集列表
3.2.6 用户登陆
用户登陆是系统的入口,完成用户名和密码的校验工作后方可进入后台执行接口测试工作。用户账户由管理员在后台分配,分配的账户信息存入数据库表中。
用户登陆的运行界面如下图3-11所示:
图3-11用户登陆界面
以上是关于本自动化测试平台的部分介绍及功能展示,本系统选题新颖,技术先进,采用前后端分离的方式开发实现,后台开发采用Springboot开发,前端开发采用VUE开发。功能全面,页面简洁大方,是一款优秀的毕业设计作品。
以上是关于基于Springboot实现的自动化测试平台的主要内容,如果未能解决你的问题,请参考以下文章