Как создать ключевое слово с необязательным аргументом по умолчанию None в Robot Framework? - PullRequest
1 голос
/ 12 февраля 2020

Как создать пользовательское ключевое слово в Robot Framework , которое принимает необязательный аргумент, чтобы я мог вызывать это ключевое слово с аргументом или без него? например, этот аргумент должен по умолчанию None.

Ответы [ 2 ]

5 голосов
/ 12 февраля 2020

Использование ${arg_name}=${None}

Пример:

*** Settings ***
Library    REST

*** Keyword ***
POST /endpoint
    # [Arguments]         ${body}=NONE              # BAD IDEA
    [Arguments]         ${body}=${None}             # BETTER
    &{response}=        REST.POST    /endpoint    ${body}

Теперь в ваших тестовых примерах вы можете вызвать POST /endpoint с / без аргумента

POST /endpoint

# or

POST /endpoint    {"some": "valid json"}

Пример:

*** Test Cases ***
My Cool Test Case
    [Tags]              cool
    POST /endpoint
    POST /endpoint    {"Best Test Automation Framework": "Robot Framework"}

enter image description here


ПРИМЕЧАНИЕ: не используйте NONE, так как это установит значение в строку 'NONE'

1 голос
/ 19 февраля 2020

Очень базовый c пример использования встроенной переменной ${NONE}:

*** Test Cases ***
Call Keyword Without Argument
    Log Name    

Call Keyword With Argument
    Log Name    Steve

*** Keywords ***
Log Name
    [Arguments]    ${name}=${NONE}
    Log    Your name is '${name}'

Примечание: Учтите, что согласно документации Robot Framework ${NONE} и ${NULL} являются синонимами

https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#boolean и-ни-нуль-переменные

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...