где использовать @ и $ для динамических элементов / переменных в Python / RobotFramework. Пример @ {cookies} и $ {cookies} - PullRequest
2 голосов
/ 10 октября 2019

У меня нет проблем, но я пытаюсь понять, где использовать разницу @ {any_variable} и $ {any_variable} "@" и "$"

:FOR    ${partner}    IN    @{partners_name}
      Set test variable   ${partner}

У меня нет ошибокпросто хочу понять, где использовать @ и $ или разницу между @ и $

1 Ответ

5 голосов
/ 10 октября 2019

Префикс $ означает «использовать значение этой переменной»;@ - это «развернуть содержимое контейнера (обычно это список, но это не единственный вариант) и использовать этот набор значений».

Например:

${a list}=    Create List    a    b    c

При использовании

FOR    ${value}    IN    @{a list}

оценивается RF как

FOR    ${value}    IN    a     b    c

, что является правильным синтаксисом цикла for.


Но в то же время:

FOR    ${value}    IN    ${a list}

, оценивается RF как

FOR    ${value}    IN    ['a', 'b', 'c']   # this is a string, not an actual python list

, что синтаксически неверно для RF.


В общем, когда вы хотите передать «список членов, каждый из которых отдельно» - используйте @. Когда вам нужно передать саму переменную списка - используйте $.

Это упрощение, но оно охватывает основной вариант использования.

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