如何在Robot Framework中标记数据驱动的模板测试

pgt*_*ips 2 tags robotframework testrail

我有许多数据驱动的测试,因此我可以对多行​​数据运行相同的测试,效果很好。但是,我们还使用TestRail,并通过RF测试上的标签将RF测试链接到TestRail。目前,我只为每个模板标记一个TestRailID。例如:

*** Test Cases ***
Verify Registering For An Event with each CC Type
  [Template]  Register For An Event with a Credit Card
  [Tags]    TestRailID=1211  Smoke    
  ${cc_intl}   ${personInfo}  ${visaCardInfo}
  ${cc_intl}   ${personInfo}  ${masterCardInfo}
  ${cc_intl}   ${personInfo}  ${americanCardInfo}
  #etc
Run Code Online (Sandbox Code Playgroud)

我希望每一行数据都具有TestRailID的唯一标记。在上面的示例中,如何为每个数据行添加标签?

Bry*_*ley 5

一种简单的解决方案是修改模板以接受标签作为参数之一,然后在关键字中调用set标签

例:

*** Keywords ***
Register For An Event with a Credit Card
    [Arguments]  ${tag}  ${personInfo}  ${cardInfo}
    set tags  ${tag}
    log  personInfo: ${personInfo} cardInfo: ${cardInfo}

*** Test Cases ***
Verify Registering For An Event with each CC Type
  [Template]  Register For An Event with a Credit Card
  [Tags]    TestRailID=1211  Smoke    
  TestRailID=1  person one    visa
  TestRailID=2  person two    mastercard
  TestRailID=3  person three  american express
Run Code Online (Sandbox Code Playgroud)