【来源】
最近在做接口自动化的dev和pro环境执行,想要一套代码实现多环境复用。但是发现仅仅区分host等不能满足需求,因为dev和pro环境编写的用例里有很多入参和url中拼接的xxx_id等的值不能在两套环境复用。
【问题】
1、如何做到真正的一套代码多环境执行,环境切换这里大体实现思路有啥推荐?
2、有什么好的办法能避免用例复用性低?
目前的实现,感觉不太合适,又不太想得到怎么能更优。
写用例的时候,如下类似project_id的拼接都是直接从testcase里传参了,目前想多环境执行用例复用率太低,改成从yaml类文件读取,然后再api层拼接,但是又没有好的思路能实现根据环境读取出指定环境下需要的project_id类数据,然后多次调用即可的效果。
目前想到的解决办法:
1、不用pytest 自定义命令行参数的形式区分环境执行,直接用普通的python脚本去判断然后分配host、token等配置数据
2、pytest约定的方法拿到自定义的env值后,存到变量或者文件内,然后用python脚本去判断这个值,然后去根据这个值根据环境分配配置文件内的配置数据,然后复用。