一、项目描述:
newsanjieke_api 接口自动化测试框架
该项目主要是针对已经通过测试接口进行回归,保证已经通过测试的接口不会因为升级或者迭代而出现问题
框架结构 python+request+ddt+excel+unittest
python 采用python3
request 访问网络的第三方库
ddt 数据驱动
excel 管理和维护测试的方式
unittest 单元测试框架
二、引言
在当前互联网产品迭代频繁的背景下,回归测试的时间越来越少,很难在每个迭代都对所有功能做完整回归。
但接口自动化测试因其实现简单、维护成本低,容易提高覆盖率等特点,越来越受重视。
三、依赖库安装方法
部署环境时,首先执行requirements.txt,命令如下:
导出环境中的第三方库:pip freeze > requirements.txt
新的服务器导入第三方库:pip -r install requirements.txt
四、各个模块简介
1、Base封装Request方法
base_request 操作接口,其中封装了get和post方法(如后期有需要可以增加请求方式)
2、Case测试用例维护目录
sanjieke_auto.xlsx 维护测试用例
3、Common封装的常用的方法
dir_config 定义路径方法,获取文件路径和其他参数的路径
get_data 获取替换变量的数据
html_read 读取html报告中的文本数据,用于发送邮件的正文
HTMLTestRunner_cn 生成测试报告的文件
Send_email 发送邮件的方法
4、Config配置文件存储目录
header.ini 存储header的配置文件
mysql.in 存储数据库的配置文件
server.in 存储测试环境的文件 (Online、pre、Beta)
5、image图片存储目录
image.png 上传头像接口用到的图片
6、Outputs测试报告输出目录
html 此文件夹存储测试报告(html的方式)
7、TestCases测试用例存放目录
Run 使用unittest,调用defaultTestLoader方法,加载discover,用来查询某个文件夹下
以test_开头的.py结尾的文件,用来执行所有的测试用例,并生成测试报告.
Run_Email 在Run的基础上加入发送邮件的功能
stencil 测试用例的模版
test_001_universal_interface 通用接口的测试用例
test_002_buy_self_study_course 购买自学课并学习的测试用例
test_003_buy_training_camp_course 购买训练营并学习的测试用例
test_004_redeem_coupons 兑换优惠券的测试用例
test_005_login_and_register 登录和注册的测试用例
test_006_change_phone_number 更换手机号的测试用例
test_007_change_password 更换密码的测试用例
8、Tools处理数据方法的目录
handle_excel 读取和写入excel的方法
handle_init 读取配置文件的方法
handle_mysql 读取mysql的方法
handle_replace 替换数据的方法
handle_result json格式比对的方法