# 理财系统接口测试(工具+代码)
**Repository Path**: swaaaay/APITest
## Basic Information
- **Project Name**: 理财系统接口测试(工具+代码)
- **Description**: 基于API文档输出接口测试用例,分别采用postman和Jmeter进行接口测试,并基于requests+unittest进行接口自动化封装。
- **Primary Language**: Python
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 9
- **Forks**: 3
- **Created**: 2021-09-22
- **Last Updated**: 2025-04-21
## Categories & Tags
**Categories**: Uncategorized
**Tags**: Requests, unittest, jmeter, POSTMAN
## README
# 理财系统接口测试
## 本项目涉及接口
- 注册:获取图片验证码,获取短信验证码,注册
- 登录:登录,登录状态查询
- 开户:实名认证,开户,第三方开户接口
- 充值:获取充值验证码,充值,第三方充值接口
- 投资:投资,第三方投资接口
## 工具实现
### Postman
实现注册登录和认证接口的全局变量保存及提取,及结果的断言。

### Jmeter
实现全接口测试,涉及用户定义的变量、JDBC请求项目数据库、json断言及响应断言、JSON/正则表达式提取、接口关联等。

## 代码实现
获取图片验证码,获取短信验证码,登录,认证
### 接口自动化测试环境搭建
python第三方库:requests,unittest, HTMLTestRunner, parameterized, os, logging, pymysql, json
### 测试框架说明
apiTest # 项目名称
├── api # 封装接口URL,定义接口方法及其入参,得到响应
├──Login.py
├──Register.py
├──GetCode.py
├──Approve.py
├── data # 存放json格式的测试数据
├──login.json
├──register.json
├──imgVerify.json
├──approve.json
├──smsVerify.json
├── report # 保存由HTMLTextRunner得到的测试报告
├──report.html
├── script # 基于unittest定义测试用例脚本
├──test_ImgCode.py
├──test_SmsCode.py
├──test_Register.py
├──test_login.py
├──test_approve.py
├── log # 存放日志文件
├──p2p.log
├──tools # 存放第三方工具
├──HTMLTextRunner.py
├── config.py # 定义项目的配置信息,如日志初始化,项目路径与基本URL
├── utils.py # 定义工具类,实现参数化测试数据的读取
└── run_suite.py # 将测试用例集成为测试套件,执行后生成测试报告
### 测试报告

## 接口缺陷

## 项目难点
- 未掌握postman连接数据库清除注册成功的手机号,导致注册成功用例是一次性的,且由于各脚本手机号不同导致不同的cookie,引发很多问题。目前仅会使用Jmeter的JDBC Configuration Pool及JDBC request元件进行数据库连接解决这个问题。
- 开户请求脚本开发困难在于:请求开户接口响应需要进行正则表达式提取,需要细心和耐心提取正确的响应内容。
- 涉及项目数据库请求需要提前熟悉表结构,先清理依赖表再清理主表。写删除SQL时尤其注意,不能多删。