如何在Robot Framework中为数据驱动的测试添加标签?

时间:2014-03-11 01:39:16

标签: robotframework

我正在尝试在Robot Framework中为数据驱动的测试添加标签。我为模板化测试和表创建了关键字,类似于以下数据:

# 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 个答案:

答案 0 :(得分:9)

可以像这样添加标签:

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

答案 1 :(得分:6)

一种解决方案是修改关键字以将标记作为参数。然后你可以做这样的事情:

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

答案 2 :(得分:4)

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

仅测试具体如下:

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