Robotframework 如何在Robot框架中向数据驱动测试添加标记?

Robotframework 如何在Robot框架中向数据驱动测试添加标记?,robotframework,Robotframework,我试图在Robot框架中为数据驱动测试添加标记。我已经为模板化测试和数据表创建了关键字,如下所示: # Test case file *** settings *** Resource libraries.txt Test Template My Test Template *** test cases *** parameter1 parameter2 ER testa value1a value2a E

我试图在Robot框架中为数据驱动测试添加标记。我已经为模板化测试和数据表创建了关键字,如下所示:

# 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

如何为testa和testb添加(可能不同的)标记



原来是PEBKAC。我没有缩进tag语句。那些双空格(又一次)使我陷入困境。

可以这样添加标签:

*** test cases ***       parameter1   parameter2  ER
testa                    value1a      value2a     ERa
    [Tags]    tag1
testb                    value1b      value2b     ERb
    [Tags]    tag1
*** 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}

有几种方法可以添加标记

只有特定于测试的选项类似于:

*** Test cases ***
Test A
  [tags] tagA tagB
  Log  This is test A
通过在设置中放置
Force Tags
,可以将标记添加到文件中的所有测试用例中:

*** Settings ***
Force Tags  NewTag

有关更多信息,您可以查看用户指南:

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

*** test cases ***       parameter1   parameter2  ER
testa                    value1a      value2a     ERa
    [Tags]    tag1
testb                    value1b      value2b     ERb
    [Tags]    tag1
*** 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将有标签
tag1
tag2
,testb将有标签
tag2
tag3

D'oh!由那些讨厌的缩进完成。我把方括号放在测试名称的正下方,而不是两个空格。这个问题是专门针对数据驱动测试的,你的答案没有提到。答案不是关于数据驱动的。链接断开了(因为)。事实上,链接现在断开了