推荐一款开源的接口测试练手实战项目!

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 推荐一款开源的接口测试练手实战项目!

1. 背景


很多测试新手在学习接口测试的时候,苦于没有接口测试项目进行练手,而放弃对于接口测试的学习。其实对于所有实践类的工作,最好的练手实战项目,首选一定是源于自己的工作,用自己公司的实际项目,劳逸结合,是最能快速见效果的。

但如果你非得想先找一些简单的练手项目,市面上也有很多,包括商用的,或者开源的,但在使用在线的第三方API的时候,经常会遇到认证或者调用流程较为繁琐,且很多时候,API每天调用也有次数限制,为了帮助大家解决接口测试练手的问题,今天给大家推荐一款基于node开发的一套开源API项目,如果你仅仅是想针对接口测试找个项目练练手,这个项目或者能帮助到你。

项目地址:

https://gitee.com/HUJIAFANGFUJIDDD/vue_api_server.git

2、部署VUE_API_Server


1、克隆项目到本地

git clone https://gitee.com/HUJIAFANGFUJIDDD/vue_api_server.git

微信图片_20220527120503.png

2、安装npmnode环境。从Node.Js官网下载对应平台的安装程序,傻瓜式安装即可。

https://nodejs.org/en/download/

微信图片_20220527120531.png

npm是什么东西?npm其实是Node.js的包管理工具(package manager)。

其实npm已经在Node.js安装的时候顺带装好了。我们在命令提示符或者终端输入npm -v,应该看到类似的输出:

$ npm -v
6.14.8

3、进入到vue_api_server项目目录,接着执行npm install 安装依赖包。

微信图片_20220527120557.png

4、安装Mysql,如果你已经有的话,可以直接忽略此步。

5、进入db目录中,将mydb.sql导入到Mysql数据库中。

# 创建数据库,比如api_db_mysql
CREATE DATABASE `api_db_mysql` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
# 切换数据库
use api_db_mysql;
# 导入数据
source D:\gitee\vue_api_server\db\mydb.sql

微信图片_20220527120622.png微信图片_20220527120634.png

6、进入到vue_api_server目录下的config目录中,打开文件default.json

{
 "config_name" : "develop",
 "jwt_config" : {
  "secretKey":"itcast",
  "expiresIn":86400
 },
 "upload_config":{
  "baseURL":"http://127.0.0.1:8888",
  "upload_ueditor":"uploads/ueditor",
  "simple_upload_redirect":"http://127.0.0.1/reload"
 },
 "db_config" : {
  "protocol" : "mysql",
  "host" : "127.0.0.1",
  "database" : "mydb",
  "user" : "root",
  "password" : "root",
  "port" : 3306
 }
}

修改一下数据库连接:(你可以根据自己情况修改,也可以不修改),由于前面步骤,我们创建了新的数据库,因此此处修改数据库配置信息

{
 "config_name" : "develop",
 "jwt_config" : {
  "secretKey":"itcast",
  "expiresIn":86400
 },
 "upload_config":{
  "baseURL":"http://127.0.0.1:8888",
  "upload_ueditor":"uploads/ueditor",
  "simple_upload_redirect":"http://127.0.0.1/reload"
 },
 "db_config" : {
  "protocol" : "mysql",
  "host" : "127.0.0.1",
  "database" : "api_db_mysql",
  "user" : "root",
  "password" : "123456",
  "port" : 3306
 }
}

7、在vue_api_server目录下, 执行:

node app.js

微信图片_20220527120707.png微信图片_20220527120717.png

如果能显示出现这些API,证明你已经部署成功了。

3、使用VUE_API_Server


完成前面的服务环境部署后,默认后监听8888服务端口,接口基准地址:http://127.0.0.1:8888/api/private/v1/,且数据返回格式统一使用 JSON。

由于项目提供的接口太多了,具体大家可以参考项目文档,这里就列一个,本文仅列举几个常用的接口以及利用Postmon调用接口的方法,其他的读者可自行查阅。

登录接口:

微信图片_20220527120747.png

创建用户接口:

微信图片_20220527120815.png

查询用户接口:

微信图片_20220527120838.png

创建用户,查询用户这类的业务接口,需要从登录授权的 API 中获取到token,且必须在请求头中使用 Authorization 字段提供 token 令牌

4. 小结


本项目如果分析源代码,总的来说,实现还比较粗糙,但如果是用来作为新手阶段练手用途,也基本可以满足需求,当然你也可以跟着作者一起进阶学习全栈测开知识,自己动手去开发一套项目后台API,这样就不需要东找西找了。


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
6天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
34 3
|
10天前
|
网络协议 关系型数据库 应用服务中间件
【项目场景】请求数据时测试环境比生产环境多花了1秒是怎么回事?
这是一位粉丝(谢同学)给V哥的留言,描述了他在优化系统查询时遇到的问题:测试环境优化达标,但生产环境响应时间多出1秒。通过抓包分析,发现MySQL请求和响应之间存在500毫秒的延迟,怀疑是网络传输开销。V哥给出了以下优化建议:
|
11天前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
25 1
|
15天前
|
前端开发 数据管理 测试技术
前端自动化测试:Jest与Cypress的实战应用与最佳实践
【10月更文挑战第27天】本文介绍了前端自动化测试中Jest和Cypress的实战应用与最佳实践。Jest适合React应用的单元测试和快照测试,Cypress则擅长端到端测试,模拟用户交互。通过结合使用这两种工具,可以有效提升代码质量和开发效率。最佳实践包括单元测试与集成测试结合、快照测试、并行执行、代码覆盖率分析、测试环境管理和测试数据管理。
31 2
|
16天前
|
前端开发 JavaScript 数据可视化
前端自动化测试:Jest与Cypress的实战应用与最佳实践
【10月更文挑战第26天】前端自动化测试在现代软件开发中至关重要,Jest和Cypress分别是单元测试和端到端测试的流行工具。本文通过解答一系列问题,介绍Jest与Cypress的实战应用与最佳实践,帮助开发者提高测试效率和代码质量。
27 2
|
18天前
|
编解码 人工智能 自然语言处理
迈向多语言医疗大模型:大规模预训练语料、开源模型与全面基准测试
【10月更文挑战第23天】Oryx 是一种新型多模态架构,能够灵活处理各种分辨率的图像和视频数据,无需标准化。其核心创新包括任意分辨率编码和动态压缩器模块,适用于从微小图标到长时间视频的多种应用场景。Oryx 在长上下文检索和空间感知数据方面表现出色,并且已开源,为多模态研究提供了强大工具。然而,选择合适的分辨率和压缩率仍需谨慎,以平衡处理效率和识别精度。论文地址:https://www.nature.com/articles/s41467-024-52417-z
40 2
|
4天前
|
开发框架 安全 .NET
.NET使用Moq开源模拟库简化单元测试
.NET使用Moq开源模拟库简化单元测试~
|
1月前
|
机器学习/深度学习 监控 计算机视觉
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
本文介绍了如何使用YOLOv7进行目标检测,包括环境搭建、数据集准备、模型训练、验证、测试以及常见错误的解决方法。YOLOv7以其高效性能和准确率在目标检测领域受到关注,适用于自动驾驶、安防监控等场景。文中提供了源码和论文链接,以及详细的步骤说明,适合深度学习实践者参考。
296 0
目标检测实战(八): 使用YOLOv7完成对图像的目标检测任务(从数据准备到训练测试部署的完整流程)
|
13天前
|
NoSQL 测试技术 Go
自动化测试在 Go 开源库中的应用与实践
本文介绍了 Go 语言的自动化测试及其在 `go mongox` 库中的实践。Go 语言通过 `testing` 库和 `go test` 命令提供了简洁高效的测试框架,支持单元测试、集成测试和基准测试。`go mongox` 库通过单元测试和集成测试确保与 MongoDB 交互的正确性和稳定性,使用 Docker Compose 快速搭建测试环境。文章还探讨了表驱动测试、覆盖率检查和 Mock 工具的使用,强调了自动化测试在开源库中的重要性。
|
1月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
57 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)