如何在机器人框架中参数化测试用例?
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
【讨论】:
以上是关于如何在机器人框架中参数化测试用例?的主要内容,如果未能解决你的问题,请参考以下文章
如何在机器人框架中并行运行多个测试套件上的多个测试用例 | Python