我需要使用机器人框架为测试用例提供多个输入。我在 pytest 中通过参数化做了类似的事情,在机器人框架中也有类似的方法吗..
我认为你可以使用机器人框架来使用参数。关键字可以接受零个或多个参数,并且某些参数可能具有默认值。这是根据所需输入向测试用例/关键字提供参数的最佳方法。更多文档可以在 - http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#using-arguments
找到我采取的方法: 由于我只为一个套件调用一次机器人调用,并且在测试套件中,每个单独的测试用例可能有不同的 no 和不同的变量。 我制作了一个 json 文件: 测试套件名称> 测试用例名称> 测试用例参数 该测试套件中的最大参数数。 我根据每个 tc 的参数数量为测试用例添加一个通用标签作为 param1 param2,并使用上述标签和带有标签名称的 ${params} 变量迭代机器人测试套件的调用。这样只会选择那些测试用例。 参数详细信息我正在根据传递的变量 ${params} 读取测试用例中的 json 文件。
例如,.
robot --variable params:param1 -i param1
robot --variable params:param2 -i param2
TestCase[xxx]: Sample Test Case
[Documentation] Sample Test Case
[Tags] Sanity param1 param2 param3
我发现以下解决方案接近 pytest parametrize 选项。 您可以将整个测试用例放入 FOR 循环中,该循环将使用列表值作为参数传递到每次新运行的测试用例中。示例代码如下:
*** Test Cases ***
Test Case
FOR ${parameter} IN @{parameters}
Log ${parameter}
END