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

问题描述 投票:0回答:4

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

robotframework
4个回答
4
投票

您可以为此使用变量。 例如

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

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


1
投票

我认为你可以使用机器人框架来使用参数。关键字可以接受零个或多个参数,并且某些参数可能具有默认值。这是根据所需输入向测试用例/关键字提供参数的最佳方法。更多文档可以在 - http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#using-arguments

找到

1
投票

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

0
投票

我发现以下解决方案接近 pytest parametrize 选项。 您可以将整个测试用例放入 FOR 循环中,该循环将使用列表值作为参数传递到每次新运行的测试用例中。示例代码如下:

*** Test Cases ***
Test Case
FOR    ${parameter}    IN    @{parameters}
    Log    ${parameter}
END
© www.soinside.com 2019 - 2024. All rights reserved.