如何参数化机器人框架中的测试用例?

How to Parameterize test cases in robot framework?

我需要使用机器人框架向测试用例提供多个输入。我在 pytest 中用参数化做了类似的事情,在机器人框架中是否也有类似的方法..

我认为您可以通过 Robot 框架使用 Arguments。关键字可以接受零个或多个参数,并且某些参数可能具有默认值。这是根据所需输入向 testcase/keyword 提供参数的最佳方式。更多文档可以在 - http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#using-arguments

找到

您可以为此使用 variables。 例如

robot --variable HOST:10.0.0.2:1234 /testfolder/

变量 ${HOST} 在此测试运行中的值为 10.0.0.2:1234

我做的方法: 因为我只为一个套件调用我的机器人调用一次,而在测试套件中,每个单独的测试用例可能有不同的 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