В 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 , в которой содержится несколько хороших и простых примеров кода о том, как это сделать. Это может дать вам дополнительную гибкость, когда вы стремитесь вернуть правильный набор значений переменных.