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

Posted

技术标签:

【中文标题】如何在机器人框架中参数化测试用例?【英文标题】:How to Parameterize test cases in robot framework? 【发布时间】:2022-01-16 16:29:55 【问题描述】:

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

【问题讨论】:

【参考方案1】:

您可以为此使用variables。 例如

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

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

【讨论】:

是的,它有效,因为我只为一个套件调用我的机器人调用一次,在测试套件中,每个单独的测试用例可能有不同的 no 和不同的变量。我制作了一个 json 文件以包含测试套件详细信息 > 测试用例名称和该测试套件中的最大参数数 > 测试用例参数。并基于参数和参数标签的最大数量,我是【参考方案2】:

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

找到

【讨论】:

【参考方案3】:

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

【讨论】:

以上是关于如何在机器人框架中参数化测试用例?的主要内容,如果未能解决你的问题,请参考以下文章

unittest单元测试框架中的参数化及每个用例的注释

创建机器人框架关键字模板然后测试用例模板

如果机器人框架中的第一个测试用例失败,如何跳过测试用例执行

如何在机器人框架中并行运行多个测试套件上的多个测试用例 | Python

行为驱动:Cucumber + Selenium + Java - 实现测试用例的参数化

是否可以将参数化的测试用例数据与 Xcode 的 XCTest 框架一起使用?