以下为locust压测脚本文档组织结构模板,和TestDeploy对接丝滑,轻松实现分布式压测。
1、common
common主要是存放公共方法,如改写了的请求方法(定义全局断言、控制日志级别输出等)、获取配置的方法、数据库操作方法等。改写了的请求方法,包括GET、POST等等,作为统一入口,以便各个API统一调用。
2、config
config主要存放配置相关信息(请求服务域名、请求URL等)、业务比例配置文件。
3、data
data存放数据准备的数据文件。
4、locustService
locustService主要存放各业务场景的实现脚本。
5、prepare
prepare以不同.py文件存放数据准备的函数。
6、dataStating.py
提供所有数据准备的函数(即prepare下的所有.py)的一键执行功能,支持多进程/多线程执行。
7、cleanUp.py
压测后对Redis脏数据的清理,以免影响下次压测。设计上要规定好脏数据的规则,以便能够准确清理。
8、locustfile.py
locust压测的启动文件,执行locustService编写的业务场景。
9、project_setEnv.py
压测前针对压测环境和数据源的切换。环境的切换,需要准备不同环境的配置,如config.ini、config-qa.ini、config-release.ini等。如要压的是qa环境,将config-qa.ini的内容覆盖config.ini的内容。
数据源是在切换环境后,通过配置指定。
注:在TestDeploy中,locustfile.py和project_setEnv.py是默认的执行入口,留意项目代码执行入口和TestDeploy配置文件中定义执行入口的对应关系(名称要对应上)。