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

时间:2014-10-28 19:32:59

标签: robotframework

我想知道有没有办法控制测试用例级别的验证。我们有标签,这是测试用例选择级别。我有一个测试用例,它涵盖了两个数字的加法和减法。

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

示例代码:

| 设置 | 价值 | | *测试案例* |

-----------------------------

| Testing1
| | [标签] |优先权:P0 |类别:NA | STC_DB_INDEX:NA

if {add}

| |记录|添加两个数字|
| |运行关键字|另外| 20 | 25 |

if {sub}

| |记录|减去两个数字|
| |运行关键字| sub | 10 | 5 |

2 个答案:

答案 0 :(得分:1)

最简单的解决方案是将测试分成两部分。许多质量保证专家认为每项测试都应该测试一件事,我发现这是一个成功的策略。

因此,将您的添加验证放在一个测试中,将您的减法放在另一个测试中。然后,当您指定“add”标记时,只会运行“添加”测试。

答案 1 :(得分:0)

不确定我是否理解您的需求,但如果您在测试中有很多重复,您应该考虑使用如下模板方法:

*** 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 ...

基本上,您可以调用一个或其他关键字,并且每个总和/减法将始终生成一个独特的测试用例,而无需太多代码重复。 如果这不是您真正想要的,请尝试提供更多细节以及您真正想要的