如何使Robot框架API测试独立于环境?

如何使Robot框架API测试独立于环境?,api,jenkins,robotframework,consul,robotframework-ide,Api,Jenkins,Robotframework,Consul,Robotframework Ide,我正在开发一些机器人框架API测试 最终目标是将一组测试添加到我们的项目中,这样每当开发人员使用Jenkins构建和部署项目时,测试都会自动运行,以检查是否一切正常 我想让测试检查它们部署在哪个环境(dev1、2、3/Test/Accept)上,并将其作为变量自动填充。 例如https://${VARIABLE}.companyname.com/service/api在部署到Dev服务器1上时应变成。 这样,就可以为所有内容提供一个测试集,而不必为每个环境维护一个测试集 我们使用Consul管理

我正在开发一些
机器人框架API
测试

最终目标是将一组测试添加到我们的项目中,这样每当开发人员使用
Jenkins
构建和部署项目时,测试都会自动运行,以检查是否一切正常

我想让测试检查它们部署在哪个环境(dev1、2、3/Test/Accept)上,并将其作为变量自动填充。 例如
https://${VARIABLE}.companyname.com/service/api
在部署到Dev服务器1上时应变成。 这样,就可以为所有内容提供一个测试集,而不必为每个环境维护一个测试集

我们使用
Consul
管理我们的服务,并使用
Ansible
进行部署,因此应该可以从那里或
Jenkins
获取标签来填充此变量

有人知道我如何得到这个标签并将这个变量放入机器人框架中吗

使用可以将测试逻辑与所需的测试数据分开。这是首选的方法,而不是将环境数据存储在与测试逻辑相同的文件中

可以通过()使用Python或Java类或纯文本动态生成信息。然后可以通过命令行将这些文件添加到测试运行中:

robot --variablefile myvariables.py mytest.robot
robot --variablefile myvariables.yaml mytest.robot

您可以使用-v选项从命令行提供变量:
robot-v变量:portal-01.dev mytest.robot