我正在开发一些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。这样,就可以为所有内容设置一个测试集,而不必为每个环境维护一个测试集。
我们使用Consul
管理我们的服务,并使用Ansible
进行部署,因此应该可以从此处或从Jenkins
获取标签以填充此变量。
有人知道如何获取该标签并将此变量放入Robot Framework
吗?
使用variable files,您可以将测试逻辑与所需的测试数据分开。这是首选方法,而不是将环境数据与测试逻辑存储在同一文件中。
信息可以使用Python或Java类或通过(yaml)的纯文本来动态生成。然后可以通过命令行将这些文件添加到您的测试运行中:
robot --variablefile myvariables.py mytest.robot
robot --variablefile myvariables.yaml mytest.robot