Как получить доступ к переменной внутри другой переменной в файле yaml? - PullRequest
0 голосов
/ 30 августа 2018

У меня есть файл Variables.yaml, как показано ниже:

userId: 12
URL: xyz.com/user=${userId}

Проблема выше в том, что переменная не заменяется, во время выполнения мой URL выглядит так:

xyz.com/user=${userId}

1 Ответ

0 голосов
/ 30 августа 2018

В YAML можно ссылаться на другое значение, однако, только как на полное значение и не объединять его с другой переменной или строкой. В главе «Руководство по Robot Framework» о ресурсных и переменных файлах объясняется несколько опций, из которых переменных файлов YAML является одним из них.

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

В приведенном ниже примере все находится в одном файле, но его можно легко разбить на несколько файлов. Обычно переменный файл добавляется через аргумент командной строки , ключевые слова отделяются от своих тестовых примеров в Resource Files .

variables.yaml

userId: 12
URL: xyz.com/user=${userId}

robot_script.robot

*** Settings ***
Library      Collections

Variables    variables.yaml

*** Test Cases ***
TC
    ${userId}    Set Variable        MyUserName
    Log To Console    \n ${URL}
    ${URL}       Replace Variables   ${URL}
    Log To Console    ${URL}

Это приведет к следующему выводу на консоль

==============================================================================
TC                                                                    
xyz.com/user=${userId}
xyz.com/user=MyUserName
| PASS |
------------------------------------------------------------------------------

Другой подход, который вы можете использовать для перехода от YAML к файлам переменных Python. В Руководстве по Robot Framework есть глава Реализация файла переменных в виде класса Python или Java , в которой содержится несколько хороших и простых примеров кода о том, как это сделать. Это может дать вам дополнительную гибкость, когда вы стремитесь вернуть правильный набор значений переменных.

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