После обновления Robot Framework до 3.1.1 конкатенация переменных не работает - PullRequest
0 голосов
/ 25 февраля 2019

После недавнего обновления версии моего фреймворка робота с 3.0 до 3.1.1 моя переменная, которую я использовал для конкатенации, например Element Should Be Visible ${el}[contains(@class,'icon-expanded')], больше не работает.Я нашел обходной путь, который требует от меня явной конкатенации переменной вместо ее непосредственного использования, как указано выше

${el1} =   Catenate    SEPARATOR=    ${el}   [contains(@class,'icon-expanded')]
Element Should Be Visible    ${el1}

Я не вижу ничего в примечаниях к выпуску, в которых говорится, что это больше не работает.Есть ли другой способ, кроме использования явной конкатенации?

1 Ответ

0 голосов
/ 25 февраля 2019

Это регрессия в рамках робота 3.1, а не 3.1.1.Примечания к выпуску, описывающие эту регрессию, находятся под заголовком Квадратные скобки после такой переменной, как $ {var} [xxx], считаются доступом к элементу

Синтаксис, подобный $ {var} [xxx] теперь считается переменной доступа к элементу (# 2601), а не переменной $ {var}, за которой следует литеральная строка [xxx].Если последнее желательно, необходимо экранировать, как $ {var} [xxx].

По существу, все, что в квадратных скобках сразу после переменной, рассматривается как индекс в переменной.

Вы можете обойти это, сняв скобку:

Element Should Be Visible    ${el}\[contains(@class,'icon-expanded')]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...