Ключевое слово Set Variable
используется для назначения статического (например, «предопределенного») значения переменной.На языке программирования эта строка
${headers}= Set Variable Get SessionToken
будет эквивалентна:
headers = "Get SessionToken"
Переменная ${headers}
теперь имеет в качестве значения строку «Get SessionToken», независимо от того, есть лиключевое слово с тем же именем (для фреймворка это просто совпадение (на самом деле фреймворк не «заботится» или «не знает» об этом совпадении)).
Если вы хотите сохранить возвращаемое значениеключевое слово Get SessionToken
- затем просто назначьте его:
${headers}= Get SessionToken
${headers}
теперь будет иметь в качестве значения, каким бы ни было содержимое ${SessionToken}
.
Вы могли бы быть еще более явным с этой конструкцией:
${headers}= Run Keyword Get SessionToken
, но это просто плохой стиль (Run Keyword
имеет очень твердое использование, только не в простых / тривиальных конструкциях, подобных этой).
Имейте в виду, что параметр headers
в ключевом слове Get Request
ожидает словарь, поэтому убедитесь, что в конечном итоге этот тип есть.
Это была именно та ошибка, которую вы получили - как вы назначилистроковое значение аргумента, оно не удалось, за исключениемдиктат (технически это вызвало исключение, поскольку строковый объект не имеет метода items()
- например, ключевое слово предполагает тип и пытается использовать его как dict)