如何在机器人框架中为数据驱动测试添加标签?

20

我正在尝试为机器人框架中的数据驱动测试添加标签。我已经为模板化测试创建了关键字,并为数据创建了类似以下内容的表格:

# Test case file
*** settings ***
Resource       libraries.txt
Test Template  My Test Template

*** test cases ***       parameter1   parameter2  ER
testa                    value1a      value2a     ERa
testb                    value1b      value2b     ERb

# Template file
*** Keywords ***
My Test Template
  [Arguments]  ${parameter1}  ${parameter2}  ${ER}
  ${result}=  Do Something  ${parameter1}  ${parameter2}
  Should Be Equal As Strings  ${result}  ${ER}

我要如何为testa和testb添加(可能是不同的)标签?


结果证明是PEBKAC问题。我没有正确缩进标签声明。那些双空格坑了我(再次)。

3个回答

11

可以像这样添加标签:

*** test cases ***       parameter1   parameter2  ER
testa                    value1a      value2a     ERa
    [Tags]    tag1
testb                    value1b      value2b     ERb
    [Tags]    tag1

糟糕!被那些恼人的缩进所困扰。我把方括号放在测试名称下面而不是两个空格处。 - Anders Martinson

8

有几种方法可以添加标签。

只测试特定的方式如下:

*** Test cases ***
Test A
  [tags] tagA tagB
  Log  This is test A

您可以在设置中放置一个Force Tags,以将标签添加到文件中的所有测试用例:

*** Settings ***
Force Tags  NewTag

更多信息请查看用户指南:http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#tagging-test-cases

该链接提供了有关如何对测试用例进行标记的详细说明。

5
这个问题特别是在询问数据驱动测试方面的内容,而你的回答并未涉及。 - Bryan Oakley
1
答案并不涉及数据驱动。 - Scen
链接已经失效(因为Google Code自己在2016年关闭了)。 - Peter Mortensen
实际上,该链接现在为http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#tagging-test-cases。 - Bart Vanherck

7
一种解决方案是修改您的关键字以将标签作为参数传入。然后,您可以执行以下操作:
*** Settings ***
| Test Template | My Test Template

*** test cases ***       
| testa | value1a  | value2a | ERa | tag1 | tag2
| testb | value1b  | value2b | ERb | tag2 | tag3

*** Keywords ***
| My Test Template
| | [Arguments] | ${value1} | ${value2} | ${er} | @{tags}
| | log | value1: ${value1}
| | log | value2: ${value2}
| | log | er: ${er}
| | Set tags | @{tags}

运行时,testa将具有标签tag1tag2,而testb将具有标签tag2tag3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接