一、引言
之前跟一些想做测试的学弟学妹们交流,发现大家的苦恼都是说毕业以后想做测试,但是实在不知道如何开始,跟着网上的教程学了一部分以后想练手也比较难找到一套合适的接口,其实网上有很多公开的公用API可以用于调用,但是一来是需要在线认证二是有一些会有调用次数限制,所以最近在网上找了一套开源的电商API,环境搭建好后本地启动就可以直接开始调用。
二、环境搭建
- 安装Node.js
- 添加国内镜像源
- 安装git
- 电商管理后台源代码下载
- 安装MySQL
- 修改配置等以及启动环境
安装node.js
首先下载稳定版至于安装32位还是64位自行选择即可,安装时一路默认点击Next即可。
安装完成后打开CMD输入node -v
和npm -v
如果出现均出现版本号那就安装成功了。
添加国内镜像源
建议安装以后设置阿里的国内镜像源进行加速,在cmd下输入。
npm config set registry https://registry.npm.taobao.org
随后再输入,观察是否把源切换成功。
npm config get registry
安装git
点击git的下载链接进行下载:点击这里
下载速度慢的可以选择国内镜像地址:点击这里
也是一路默认点击Next即可,最后一步时记得选择Use Git from the Windows Command Prompt
安装成功后在命令提示符中输入git --version
出现版本号则安装成功
电商管理后台源代码下载
这里贴一下大牛的项目地址:Vue 电商后台管理系统后台 API 接口服务器
本地新建文件夹,切换到新建的文件夹目录下,空白区域右键点击Git Bash Here
打开git命令行页面,输入git clone https://github.com/lipengzhou/shop-api.git
后回车,可以在git里看到Cloning into 'shop-api'...
的提示表明正在下载,下载完成后保留命令行页面
安装MySQL
具体怎么安装可参照菜鸟教程的教程:点击这里,本文就不详细写了。请务必记住root的密码。
修改配置等以及启动环境
先执行npm install
安装依赖,依赖安装成功后还需要修改对应的配置文件。
- 修改数据库配置信息
打开config/default.json,找到db_config
进行修改:
"db_config" : {
"protocol" : "mysql",
"host" : "localhost",
"database" : "shop",
"user" : "root",
"password" : "123456",
"port" : 3306
}
其中database为shop所以需要在本地新建一个名为shop的数据库,user与password改成安装MySQL时的账号跟密码即可。
- 执行SQL初始化数据
在shop数据库执行文件夹中的shop.sql即可
- 修改端口为空闲端口
项目默认端口是8888,启动之前可以先命令行窗口执行netstat -ano | findstr "8888"
查看端口是否空闲,空闲的话则不需要修改,若有其他程序占用的话则需要修改。
修改方式为打开app.js,找到
const PORT = 8888;
修改成对应的空闲端口即可。
- 启动环境
npm start
后出现“API 接口服务启动成功,占用端口 xxxx”提示表明启动成功。
三、简单的测试
先给出API文档地址:电商管理后台 API 接口文档,文档里写API V1认证统一使用Token认证,可以先调用login接口拿到token,下面给出使用postman调用的简单示例。
3.1 postman调用
3.1.1 postman设置全局变量
可以将接口基准地址http://localhost:8888/api/private/v1
设置为全局变量,后续只需要改动接口地址即可(如果之前改了API运行的端口则需要将对应的端口改成修改后的端口),我将基准地址设置成了全局变量,执行如图:
能成功调通,并且在返回中能拿到相应的Token,如图:
有了Token就能使用postman去调用其他接口,本文以最简单的用户数据列表接口为例子,接口文档里可以看到字段pagesize
与pagenum
为必填字段,在postman添加Authorization如图:
传参pagenum
为1,pagesize
为5,直接执行能拿到结果:
至此大家应该能正常的调用其他的接口,开始写自己的脚本吧。
四、常见问题及解决方法
4.1 throw err;Rethrow non-MySQL errors
config/default.json中数据库配置有问题,需要按自己的实际情况进行修改(详情见上文)。
4.2 端口被占用
修改端口为空闲的端口即可(见上文)。
4.3 有效的Token怎么获得
可以调用login接口,username为"admin",password为"123456",在response中拿到。