Как добавить теги в тесты, управляемые данными, в Robot Framework?

Я пытаюсь добавить теги в тесты, управляемые данными, в 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 ответов


существует несколько способов добавления тега.

только тест специфичен, как:

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


теги могут быть добавлены следующим образом:

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