众所周知,目前较为主流的接口自动化框架:httprunner3, pytest, unittest。
背景知识:httprunner3是基于pytest进行二开封装的,而pytest是基于unittest进行二开封装的。
就像如果想吃到定制口味的汉堡,那就自己动手做吧。这也是我一直以为秉承的理念,无论是框架还是架构,没有通用合适的,适合当下才是最好的。怎么能吃到个性化口味的定制汉堡?自己拼装咯~
这也是我最终决定自封接口自动化框架的原因。起名叫AgileRunner,希望他是敏捷中跑的最远的,跑的远中最敏捷的。既敏捷,又能跑的远。
AgileRunner= python+requests+unittest+beautifulreport
AgileRunner 框架如下:
接入Jenkins,实现定时,指定环境运行。
AgileRunner 已落地实践于3个公司项目,包括国内电商 ,国内支付,海外支付业务。非常适合底层接口的校验。
落地架构如下:
一,环境变量获取:
可以通过封装多套环境变量映射参数的方式,根据手动配置的当前运行环境 / 接入Jenkins传入环境变量获取对应变量值。
封装方法:
获取环境变量方法2种:
1,本地调试。手动设置为 "qa" 环境
import sys
import os
from config_all.confs import mapping_env
APP_ENV = os.environ.get('APP_ENV', 'qa').lower()
config = mapping_env[APP_ENV]() # 实例化对应的环境
2,代码部署到服务器运行,则需要从外部获取输入的环境变量。