config(配置文件)
# .env
export 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 = 3326
user = "XXXXXXXXXX"
password = "XXXXXXXXXX"
[vip.redis]
host = "XXXXXXXXXX"
port = 6379
decode_responses = true
如上配置,可在用例内使用如下方式使用
self.settings.name # au
self.settings.redis # {"host": "xxxxxx", "port":6379, "decode_responses":true}
self.settings.current_env # vip
self.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 = 3326
user = "XXXXXXXXXX"
password = "XXXXXXXXXX"
[test.redis]
host = "XXXXXXXXXX"
port = 6379
decode_responses = true
当运行如下代码时的输出
# 需要将.env文件内的ENV的值改为test
self.settings.name # test
self.settings.redis # {"host": "xxxxxx", "port":6379, "decode_responses":true}
self.settings.current_env # test
self.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 = 4001
decode_responses = true
## 特殊入参,当redis为非集群时需要定义
is_colony = false
## 代码内使用
self.settings.redis 集群返回 rediscluster.RedisCluster 非集群返回redis.StrictRedis 详细使用方式见下方说明
# 同理mysql也支持相同的操作
## 正常入参
[sql]
host = "172.16.0.29"
port = 3306
user = "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 # 环境名称对应