config(配置文件)

  1. # .env
  2. export ENV=vip # 定义环境变量
  1. # vip.toml
  2. [vip]
  3. base_url = "ebonex.vip" # 域名
  4. domain = "www-lite" # 子域名
  5. name = "au" # 代码内识别使用
  6. [vip.run]
  7. name = "vip环境" # 报告上面显示的环境
  8. test_tags = ['au'] # 运行的环境
  9. test_case = 'all' # 运行的用例
  10. is_debug = true # 是否调试
  11. [vip.mobile]
  12. national_code="61"
  13. mobile="186681783"
  14. password="XXXXXXXXXX"
  15. [vip.email]
  16. email= "XXXXXXXXXX"
  17. password= "XXXXXXXXXX"
  18. [vip.broker_admin]
  19. username = "XXXXXXXXXX"
  20. password = "XXXXXXXXXX"
  21. [vip.sql]
  22. host="XXXXXXXXXX"
  23. port = 3326
  24. user = "XXXXXXXXXX"
  25. password = "XXXXXXXXXX"
  26. [vip.redis]
  27. host = "XXXXXXXXXX"
  28. port = 6379
  29. decode_responses = true

如上配置,可在用例内使用如下方式使用

  1. self.settings.name # au
  2. self.settings.redis # {"host": "xxxxxx", "port":6379, "decode_responses":true}
  3. self.settings.current_env # vip
  4. self.settings.base_url # ebonex.vip

可进行多环境的编写,如

  1. # test.toml
  2. [test]
  3. base_url = "ebonex.test" # 域名
  4. domain = "www" # 子域名
  5. name = "test" # 代码内识别使用
  6. [test.run]
  7. name = "test环境" # 报告上面显示的环境
  8. test_tags = ['test'] # 运行的环境
  9. test_case = 'all' # 运行的用例
  10. is_debug = true # 是否调试
  11. [test.mobile]
  12. national_code="61"
  13. mobile="186681783"
  14. password="XXXXXXXXXX"
  15. [test.email]
  16. email= "XXXXXXXXXX"
  17. password= "XXXXXXXXXX"
  18. [test.broker_admin]
  19. username = "XXXXXXXXXX"
  20. password = "XXXXXXXXXX"
  21. [test.sql]
  22. host="XXXXXXXXXX"
  23. port = 3326
  24. user = "XXXXXXXXXX"
  25. password = "XXXXXXXXXX"
  26. [test.redis]
  27. host = "XXXXXXXXXX"
  28. port = 6379
  29. decode_responses = true

当运行如下代码时的输出

  1. # 需要将.env文件内的ENV的值改为test
  2. self.settings.name # test
  3. self.settings.redis # {"host": "xxxxxx", "port":6379, "decode_responses":true}
  4. self.settings.current_env # test
  5. self.settings.base_url # ebonex.test

支持继承,如

  1. # common.toml
  2. [default.redis]
  3. gg=123
  1. # 用例内代码
  2. self.settings.redis # {"host": "xxxxxx", "port":6379, "decode_responses":true, "gg":123}

特殊使用

  1. # 1.request
  2. ## 如需发送一个请求,可使用配置加载,完整配置如下
  3. [request]
  4. base_url = "ebonex.testio"
  5. api = [['api', 'userapi', 'common'], ['api', 'userapi', 'io']]
  6. agreement = "http"
  7. domain = "www"
  8. ## 代码内使用
  9. self.settings.request 返回requestBase
  10. # 同理redis也支持相同的操作
  11. ## 正常入参
  12. [redis]
  13. host = "172.16.0.27"
  14. port = 4001
  15. decode_responses = true
  16. ## 特殊入参,当redis为非集群时需要定义
  17. is_colony = false
  18. ## 代码内使用
  19. self.settings.redis 集群返回 rediscluster.RedisCluster 非集群返回redis.StrictRedis 详细使用方式见下方说明
  20. # 同理mysql也支持相同的操作
  21. ## 正常入参
  22. [sql]
  23. host = "172.16.0.29"
  24. port = 3306
  25. user = "root"
  26. password = "1qaz@WSX"
  27. ## 代码内使用方式
  28. self.settings.sql 返回MySql类,详见下方说明
  29. 注意:如上使用只是带个,如request有多个,可使用request_01,request_02,需要已request开头

具体编写规范,请参考dynaconf使用文档

框架要求的完整配置

  1. 1. .env必须定义ENV环境
  2. 2. run的入参可选如下
  3. 1.name # 报告上面显示的环境
  4. 2.test_tags # 列表,测试环境列表
  5. 3.test_case # 测试用例
  6. 4.is_debug # 是否调试
  7. 5.process_num # 进程数
  8. 6.is_locust # 是否性能测试
  9. 7.tag_list # 环境名称对应