Robotframework Robot框架中的测试用例级验证?

Robotframework Robot框架中的测试用例级验证?,robotframework,Robotframework,我想知道是否有任何方法可以控制testcase级别的验证。我们有标记,它们是测试用例选择级别。我有一个包含两个数字的加减的测试用例 在这里,我的需求是,两个操作都在同一个测试用例中,但是,如果我提到'add',测试用例将只执行加法部分和类似的子部分。如果我们没有指定任何规范,那么它必须运行这两个操作。有没有办法在机器人中控制这些场景?测试用例级别的if/else场景。我们将在运行脚本时提到我们的输入。当然,我们可以在不同的测试用例中编写它,比如,一个用于Sub,另一个用于Add,但是,在我的例子

我想知道是否有任何方法可以控制testcase级别的验证。我们有标记,它们是测试用例选择级别。我有一个包含两个数字的加减的测试用例

在这里,我的需求是,两个操作都在同一个测试用例中,但是,如果我提到'add',测试用例将只执行加法部分和类似的子部分。如果我们没有指定任何规范,那么它必须运行这两个操作。有没有办法在机器人中控制这些场景?测试用例级别的if/else场景。我们将在运行脚本时提到我们的输入。当然,我们可以在不同的测试用例中编写它,比如,一个用于Sub,另一个用于Add,但是,在我的例子中,总共有100多个测试用例使用这种场景

示例代码:

|设定值| |*测试用例*|

----------------------------- |测试1
||[标签]|优先级:P0 |类别:NA | STC|U DB|U索引:NA

如果{add} || Log |两个数字的相加|
||运行关键字|添加| 20 | 25|

如果{sub} || Log |两个数字的减法|

|| Run关键字| sub | 10 | 5 |

最简单的解决方案是将测试一分为二。许多QA专家认为每个测试应该只测试一件事情,我发现这是一个成功的策略


所以,在一个测试中进行加法验证,在另一个测试中进行减法验证。然后,当你指定“Add”标签时,只有“添加”测试会运行。

不确定我是否理解你需要什么,但是如果你在测试中有很多重复,你应该考虑一个模板方法,比如:

*** Test Cases ***
Add Variables Scenario   [Template]   Sum My Vars
   ${var1}   ${var2}   ${expectedResult1}   # one line is one test
   ${var3}   ${var4}   ${expectedResult2}

Substract Variables Scenario   [Template]   Substract My Vars
   ${var1}   ${var2}   ${expectedResult1}


*** Keywords ***
Sum My Vars
   [Arguments]   ${value1}   ${value2}   ${result}
   # do your validations ...

Substract My Vars
   [Arguments]   ${value1}   ${value2}   ${result}
   # do other validations ...
基本上,您可以调用一个或另一个关键字,每个求和/减法将始终生成一个不同的测试用例,而无需太多代码重复。
如果这不是您真正想要的,请尝试提供更多的细节,以及您真正想要的

是的,这将是一个好主意,但在某些情况下,我必须调用这两个操作,在另一个测试用例中再次复制并粘贴相同的操作。是否有任何方法可以使用标记(或任何其他关键字)来控制这种方法。或者在资源文件中提到的关键字,如if/else场景?