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

And*_*son 17 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
Run Code Online (Sandbox Code Playgroud)
# Template file
*** Keywords ***
My Test Template
  [Arguments]  ${parameter1}  ${parameter2}  ${ER}
  ${result}=  Do Something  ${parameter1}  ${parameter2}
  Should Be Equal As Strings  ${result}  ${ER}
Run Code Online (Sandbox Code Playgroud)

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


原来是PEBKAC.我没有缩进标签声明.那些双重空间让我(再次).

小智 9

可以像这样添加标签:

*** test cases ***       parameter1   parameter2  ER
testa                    value1a      value2a     ERa
    [Tags]    tag1
testb                    value1b      value2b     ERb
    [Tags]    tag1
Run Code Online (Sandbox Code Playgroud)


Bry*_*ley 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}
Run Code Online (Sandbox Code Playgroud)

在运行时,种皮将有标签tag1,并tag2和TESTB将有标签tag2tag3


Bar*_*rck 6

有几种添加标签的方法。

仅特定于测试的是:

*** Test cases ***
Test A
  [tags] tagA tagB
  Log  This is test A
Run Code Online (Sandbox Code Playgroud)

通过Force Tags在设置中放置,可以将标记添加到文件中的所有测试用例:

*** Settings ***
Force Tags  NewTag
Run Code Online (Sandbox Code Playgroud)

有关更多信息,您可以查看用户指南:http : //robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#tagging-test-cases

  • 这个问题专门询问有关数据驱动测试的问题,您的答案没有解决。 (5认同)