如何使机器人框架API测试独立于环境?



我正在开发一些Robot Framework API测试。

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

我想让测试检查它们部署在哪个环境(开发 1、2、3/测试/接受(并自动将其填充为变量。 例如,https://${VARIABLE}.companyname.com/service/api部署在开发服务器 1 上时应变为 https://portal-01.dev.companyname.com/service/api。 这样,所有内容都可以有 1 个测试集,而不必为每个环境维护一个测试集。

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

有谁知道如何获取此标签并将此变量放入Robot Framework

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

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

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

最新更新