Использование ключевых слов Run для нескольких ключевых слов, которые хранятся в переменной - PullRequest
0 голосов
/ 15 января 2020

Это не работает в Robot Framework:

${x}=   Input Text    id:userid    12456484    AND    Input Text    id:pwd    abcd123
Run Keywords   ${x}

выдавая ошибку:

Нет ключевого слова с именем 'Идентификатор ввода текста: userid 12456484 И Идентификатор ввода текста : pwd abcd123 'найдено.

Итак, я хочу добиться создания собственного ключевого слова и передачи ему нескольких шагов , каждый шаг будет иметь ключевое слово и его аргументы , вот так:

*** Test Cases ***

Test  1  "Some test cases"  Input Text  id:userid  124567
...  AND  Input Text  id:pwd  abc123

*** Keywords ***

Test
  [Arguments]  ${StepNo}  ${StepDes}  @{varargs}
  ${x}=    Catenate    SEPARATOR=${SPACE*4}    @{varargs}
  Run Keywords  ${x}

Это дает ту же ошибку, описанную выше. Вот скриншот ошибки:

enter image description here

Какие-нибудь решения для этого?

Ответы [ 2 ]

0 голосов
/ 15 января 2020

Рекомендуемое использование для Run Keywords установлено в документации для ключевого слова следующим образом:

Это ключевое слово в основном полезно в настройках и разборках, когда их необходимо забота о нескольких действиях и создание нового пользовательского ключевого слова более высокого уровня было бы излишним.

Вне этой области у меня самого не было никакого реального использования этого ключевого слова. Кроме того, проблема, с которой вы также столкнулись, заключается в том, что AND является особенным:

Обратите внимание, что аргумент управления AND должен использоваться явно и сам по себе не может быть получен из переменной.

В случае, если вы хотите иметь переменное число ключевых слов с аргументами для исполнения, возникает другая проблема, с которой вы столкнетесь, - конструкция Run Keywords @{keywords} не поддерживает ключевые слова с аргументами.

Итак, в заключение, создайте пользовательское ключевое слово для вашего пользовательского сценария и поместите туда каждое необходимое ключевое слово с соответствующими аргументами. Если требуется гибкость, используйте Run Keyword if.

0 голосов
/ 15 января 2020

Вам действительно нужно хранить эти ключевые слова в переменной?

Почему бы не использовать их внутри ключевого слова, например:

***Test Cases***
Test
    My awesome Keyword

***Keywords***
My awesome Keyword
          Run Keywords    Input Text    id:userid    12456484    AND    Input Text    id:pwd    abcd123
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...