首页 > 解决方案 > 如何使 Robot Framework API 测试环境独立?

问题描述

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

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

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

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

有谁知道我怎样才能得到这个标签并将这个变量放入Robot Framework

标签: apijenkinsrobotframeworkconsulrobotframework-ide

解决方案


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

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

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

推荐阅读