config(配置文件)
# .envexport ENV=vip # 定义环境变量
# vip.toml[vip]base_url = "ebonex.vip" # 域名domain = "www-lite" # 子域名name = "au" # 代码内识别使用[vip.run]name = "vip环境" # 报告上面显示的环境test_tags = ['au'] # 运行的环境test_case = 'all' # 运行的用例is_debug = true # 是否调试[vip.mobile]national_code="61"mobile="186681783"password="XXXXXXXXXX"[vip.email]email= "XXXXXXXXXX"password= "XXXXXXXXXX"[vip.broker_admin]username = "XXXXXXXXXX"password = "XXXXXXXXXX"[vip.sql]host="XXXXXXXXXX"port = 3326user = "XXXXXXXXXX"password = "XXXXXXXXXX"[vip.redis]host = "XXXXXXXXXX"port = 6379decode_responses = true
如上配置,可在用例内使用如下方式使用
self.settings.name # auself.settings.redis # {"host": "xxxxxx", "port":6379, "decode_responses":true}self.settings.current_env # vipself.settings.base_url # ebonex.vip
可进行多环境的编写,如
# test.toml[test]base_url = "ebonex.test" # 域名domain = "www" # 子域名name = "test" # 代码内识别使用[test.run]name = "test环境" # 报告上面显示的环境test_tags = ['test'] # 运行的环境test_case = 'all' # 运行的用例is_debug = true # 是否调试[test.mobile]national_code="61"mobile="186681783"password="XXXXXXXXXX"[test.email]email= "XXXXXXXXXX"password= "XXXXXXXXXX"[test.broker_admin]username = "XXXXXXXXXX"password = "XXXXXXXXXX"[test.sql]host="XXXXXXXXXX"port = 3326user = "XXXXXXXXXX"password = "XXXXXXXXXX"[test.redis]host = "XXXXXXXXXX"port = 6379decode_responses = true
当运行如下代码时的输出
# 需要将.env文件内的ENV的值改为testself.settings.name # testself.settings.redis # {"host": "xxxxxx", "port":6379, "decode_responses":true}self.settings.current_env # testself.settings.base_url # ebonex.test
支持继承,如
# common.toml[default.redis]gg=123
# 用例内代码self.settings.redis # {"host": "xxxxxx", "port":6379, "decode_responses":true, "gg":123}
特殊使用
# 1.request## 如需发送一个请求,可使用配置加载,完整配置如下[request]base_url = "ebonex.testio"api = [['api', 'userapi', 'common'], ['api', 'userapi', 'io']]agreement = "http"domain = "www"## 代码内使用self.settings.request 返回requestBase类# 同理redis也支持相同的操作## 正常入参[redis]host = "172.16.0.27"port = 4001decode_responses = true## 特殊入参,当redis为非集群时需要定义is_colony = false## 代码内使用self.settings.redis 集群返回 rediscluster.RedisCluster 非集群返回redis.StrictRedis 详细使用方式见下方说明# 同理mysql也支持相同的操作## 正常入参[sql]host = "172.16.0.29"port = 3306user = "root"password = "1qaz@WSX"## 代码内使用方式self.settings.sql 返回MySql类,详见下方说明注意:如上使用只是带个,如request有多个,可使用request_01,request_02,需要已request开头
具体编写规范,请参考dynaconf使用文档
框架要求的完整配置
1. .env必须定义ENV环境2. run的入参可选如下1.name # 报告上面显示的环境2.test_tags # 列表,测试环境列表3.test_case # 测试用例4.is_debug # 是否调试5.process_num # 进程数6.is_locust # 是否性能测试7.tag_list # 环境名称对应
