接口自动化代码复用多环境执行,问题求解

【来源】
最近在做接口自动化的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脚本去判断这个值,然后去根据这个值根据环境分配配置文件内的配置数据,然后复用。

可以试试不同的环境走不同的配置文件

我现在做的是第一种。。

可以试试命令行的模式呢

如果env值经常变化,建议使用第一种,如果不变化,使用配置文件如 yaml或ini存入,用Python 脚本 读取判断

能瞅瞅代码嘛。

好滴,我想了下第二种好像不太行,因为拿到pytest命令行指定的环境值后,然后在用例执行前,根据拿到的环境值去判断分配配置的数据,好像不可行。

大佬,能详细说下嘛,没太懂- -

好滴,其实主要想了解下判断环境然后指定不同的配置,这块的脚本实现有木有可借鉴的。

有点忙,晚上回去看下哈

好嘞