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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 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,这样就不需要东找西找了。


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1月前
|
测试技术 持续交付 UED
软件测试的艺术:确保质量的实战策略
在软件开发的舞台上,测试是那把确保每个功能如交响乐般和谐奏响的指挥棒。本文将深入探讨软件测试的重要性、基本类型以及如何设计高效的测试策略。我们将通过一个实际的代码示例,展示如何运用这些策略来提升软件质量和用户体验。
|
11天前
|
人工智能 自然语言处理 前端开发
CodeArena:在线 LLM 编程竞技场!用于测试不同开源 LLM 的编程能力,实时更新排行榜
CodeArena 是一个在线平台,用于测试和比较不同大型语言模型(LLM)的编程能力。通过实时显示多个 LLM 的代码生成过程和结果,帮助开发者选择适合的 LLM,并推动 LLM 技术的发展。
42 7
CodeArena:在线 LLM 编程竞技场!用于测试不同开源 LLM 的编程能力,实时更新排行榜
|
7天前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
44 11
|
28天前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法
在数据驱动时代,A/B 测试成为评估机器学习项目不同方案效果的重要方法。本文介绍 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,同时提供 Python 实现示例,强调其在确保项目性能和用户体验方面的关键作用。
32 6
|
1月前
|
机器学习/深度学习 算法 UED
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段
在数据驱动时代,A/B 测试成为评估机器学习项目效果的重要手段。本文介绍了 A/B 测试的基本概念、步骤及其在模型评估、算法改进、特征选择和用户体验优化中的应用,强调了样本量、随机性和时间因素的重要性,并展示了 Python 在 A/B 测试中的具体应用实例。
30 1
|
1月前
|
监控 安全 测试技术
如何在实际项目中应用Python Web开发的安全测试知识?
如何在实际项目中应用Python Web开发的安全测试知识?
32 4
|
1月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
63 3
|
1月前
|
网络协议 关系型数据库 应用服务中间件
【项目场景】请求数据时测试环境比生产环境多花了1秒是怎么回事?
这是一位粉丝(谢同学)给V哥的留言,描述了他在优化系统查询时遇到的问题:测试环境优化达标,但生产环境响应时间多出1秒。通过抓包分析,发现MySQL请求和响应之间存在500毫秒的延迟,怀疑是网络传输开销。V哥给出了以下优化建议:
|
1月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
56 1
|
1月前
|
开发框架 安全 .NET
.NET使用Moq开源模拟库简化单元测试
.NET使用Moq开源模拟库简化单元测试~