最近我在Raina的AI&测试学习圈里准备分享基于Skill的接口自动化测试方案,考虑到有些小伙伴在学习接口自动化测试的时候都会遇到一个问题:手头没有一个足够简单、又相对完整的后端项目可以拿来练习。真正的业务系统往往依赖数据库、中间件、复杂的权限体系,一旦搭环境就要花掉大量时间和精力,反而很难专注在接口本身和测试思路上。
为了解决这个痛点,我这边开发了一个 简单的 python 后端项目。它围绕「用户登录 + 用户增删改查」这一典型业务场景,提供了一组非常适合做练习的 HTTP 接口,代码量小、结构清晰,不需要额外安装数据库,就可以直接本地跑起来。
下面讲解如何去拉取项目并启动服务:
项目介绍
提供的接口
demo_project 专注在「用户认证和用户管理」这一个小而完整的领域,围绕它提供了下面几类典型接口:
可以简单理解,项目就提供了登录、查看当前用户信息,以及用户的增删改查接口~
使用的语言与技术栈
demo_project 使用的是 Python + Flask 技术栈,代码入口集中在 demo_project/app.py 中。整个应用只依赖了非常少量的第三方包,主要就是 Flask 本身和 Python 标准库(如 os、uuid 等),没有引入 ORM、任务队列、缓存中间件等复杂组件。
无 MySQL,启动简单
很多真实项目都会依赖 MySQL、Redis 等服务,对刚上手练习的同学来说,这会引入相当多的环境问题。demo_project 特意做了一个取舍:完全使用内存字典来存储用户数据,不依赖任何外部数据库或中间件。这样子,启动后端服务,就会比较容易了
如何启动项目?
环境准备
- • python环境安装
- • git安装
项目拉取
使用命令行,进入到存放该项目的文件夹路径,执行以下命令:
git clone+项目地址
(项目git地址获取方式见文末)
安装依赖
# 进入项目
cd demo_project
# 安装依赖 如果是python3,则使用pip3
pip3 install -r requirements.txt
启动服务
demo_project 的应用入口在 demo_project/app.py 中
启动命令如下:
# python版本
python app.py
# python3版本
python3 app.py
执行成功后效果如下:
如果想看项目代码的话,可以随便找个代码编辑器打开这个项目(如下):
验证接口是否正常
服务启动后,我们怎么判断服务的接口是否正常呢?
我们可以使用postman、apipost或者curl指令进行接口调用,这里我们就以apipost作为示例
{{base_url}} 替换成: http://localhost:11011
如下面的登录接口就能调通了。
建议大家先熟悉一下这几个接口,把他们都跑通来,该串联的串联,该设置全局配置的就设置,把接口熟悉了,后面跑自动化会更清晰一些。
git项目地址获取方式:在【Raina测试】公众号后台回复:项目地址