Robot Framework - синтаксические ошибки при сравнении списка с пустым списком - PullRequest
0 голосов
/ 10 июля 2020

Почему следующий оператор дает синтаксическую ошибку в Robot Framework? Заранее спасибо.

@{hidden_routes_1} =    Create List    222.2.1.0    12.250.2.2    222.2.2.0
Run Keyword If   '@{hidden_routes_1}'=='@{EMPTY}'   Log To Console    Lists are equal

Ошибки:

Вычисление выражения '' ['222.2.1.0', '12 .250.2.2 ',' 222.2.2.0 ']' == '[] '' не удалось: SyntaxError: недопустимый синтаксис (, строка 1)

1 Ответ

1 голос
/ 10 июля 2020

Этот синтаксис:

'@{hidden_routes_1}'=='@{EMPTY}'

читается как «выгрузить списки в виде строк, заключить их в одинарные кавычки и сравнить. Строковое представление списка:

['222.2.1.0', '12.250.2.2', '222.2.2.0']

- члены уже заключены в одинарные кавычки. Таким образом, тот, который вы указали в качестве открытия, закрывается первым для членов списка - и это дает выражение синтаксической ошибки.

Чтобы это конкретное использование работало, окружите их в оцениваемом условии с тройными кавычками - способ python пометить строку как содержащую новые строки и (произвольные) кавычки:

Run Keyword If  """@{hidden_routes_1}"""=="""@{EMPTY}"""  Log To Console    Lists are equal

Или лучше использовать целевые ключевые слова для выполнения таких проверок, например Should Be Empty или Lists Should Be Equal.

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