本接口测试框架使用python语言实现,基于pytest测试框架,同时集成Jenkins和Allure
核心特性
- 封装requests请求,使用装饰器模式
- 详细的请求日志输出
- 环境与数据隔离,实现不同环境不同数据
- 测试用例支持参数化和数据驱动机制
- 使用allure测试报告,测试结果统计报告简洁清晰
- 集成Jenkins,实现持续集成
- 连接企业和个人微信告警消息系统
文件结构
-
framework文件夹
将requests库进行二次封装,可直接使用装饰器进行请求,例子如下:
2.api文件夹
主要存放项目的所有接口请求,建议一个项目一个文件,思路为创建一个类,而初始化方法调用登录接口,即创建一个类对象就创建了一个用户,保证后续使用时可创建多个用户
3.config文件夹
主要用于环境配置,使用代码方式可以实现环境的一键切换,同时也便于集成Jenkins
# env.py
class QAFC:
# 用户中心
XG_USER_CENTER = 'http://****.ops.com'
# 后台登录
TUBOBO_MANAGE_LOGIN = 'http://******.ops.com'
# 网关
GATEWAY_URL = 'http://****.ops.com'
class UAT:
# 用户中心
XG_USER_CENTER = 'http://******/xgusercenter'
# 后台登录
TUBOBO_MANAGE_LOGIN = 'http://*****.com'
# 网关
GATEWAY_URL = 'http://*****.com'
class DEV:
# 新光用户中心
XG_USER_CENTER = 'http://*****.ops.com'
# 后台登录
TUBOBO_MANAGE_LOGIN = ''
# 网关
GATEWAY_URL = 'http://******/pos-engine'
# 设置环境,主要是为了后续Jenkins集成,读取环境变量
env = os.getenv('environment', 'dev')
if env == "qafc":
CONFIG = QAFC
elif env == "dev":
CONFIG = DEV
elif env == "uat":
CONFIG = UAT
else:
CONFIG = QAFC
4.testsuites文件夹
存放测试用例
5.jsonSchema文件夹
存放断言返回字段以及类型的jsonSchema文件
6.data文件夹
写测试用例时需要的一些固定id,唯一值,数据库取值等,比如登录账户,查看文章详情需要id,审核时需要的id(先生成记录然后数据库读取记录 or teardown时修改数据库状态值进行数据恢复),唯一的邮箱/手机号/身份证等......
7.log文件夹
存放日志
Jenkins集成与Allure测试报告
前置条件:
系统管理--插件管理:安装插件allure、安装Parameterized Trigger
系统管理--全局工具配置:配置Allure Commandline
1.新建自由风格的job,进入job配置页面,参数化构建
这里的environment就是代码中需要的环境变量,用于切换环境
2.源码管理
3.配置分支
4、构建脚本
5.构建后生成Allure测试报告
6.构建后触发新的job(即告警系统)
告警系统为一个独立的job,通过这个配置将当前job的一些参数传递给后一个job
7.告警系统使用参数化构建
告警系统主要实现功能是实时发送构建结果给企业或个人微信用户,代码逻辑主要是调用Jenkins API获取构建结果、调用企业微信API获取token并发送消息
结语 :
我这边也可以给你们分享一些其它有关软件测试方面能帮助到你们的学习资料。整理不易希望大家不要觉得理所当然。如果能帮助到大家扩散一些思路那就最好啦,相信多少会有一定的启发,可以加我QQ号:1363134450联系我,记得备注信息不然(如果你是来打广告的就不要浪费时间加我了。先写到这里有问题也可以直接私信我~