2014-11-13 2 views
1

Я пишу тестовый пример в рамке робота. Я получаю ответ в поле ниже JSon строки:Нет ключевого слова с именем '=', найденным в роботе

{"responseTimeStamp":"1970-01-01T05:30:00", 
"statusCode":"200", 
"statusMsg":"200", 
"_object":{"id":"TS82", 
      "name":"newgroup", 
      "desc":"ttesteste", 
      "parentGroups":[], 
      "childGroups":[], 
      "devices":null, 
      "mos":null, 
      "groupConfigRules" { 
       "version":null, 
       "ruleContents":null 
      }, 
      "applications":null,"type":0 
      } 
} 

Из того, что я хочу взять «_object» с помощью:

${reqresstr}  =  ${response['_object']} 

... но я получаю сообщение об ошибке «Нет ключевое слово с именем ' =»найден "

Если я стараюсь следующее:

${reqresstr}=  ${response['_object']} 

... Я получаю ошибку" имя Cann Ключевое слово быть пустым ». Я попытался удалить '=', но все равно получить ту же ошибку.

Как извлечь «_объект» из этой строки json?

ответ

1

При использовании «=» для назначения переменных с пространственным разделом, вы должны убедиться, что у вас есть только одно пространство, окружающее «=». Ваш первый пример показывает, что у вас есть более одного места по обе стороны от «=». У вас должно быть только одно пространство с обеих сторон, или робот будет считать, что пробелы являются разделителями между ключевым словом и аргументом.

Для ошибки «ключевое слово не должно быть пустым» первая ячейка после имени переменной должна быть ключевым словом. В отличие от традиционных языков программирования, вы не можете напрямую назначать строку переменной.

Чтобы установить переменную в строку, вам необходимо использовать ключевое слово Set Variable (или один из вариантов, например Set Test Variable). Например:

${reqresstr}=  Set variable ${response['_object']} 
-1

В вашей команде присутствует ошибка синтаксиса. Убедитесь, что между ${reqresstr} и =.

Использование приведенного выше примера:

${reqresstr} = ${response['_object']} 
+1

этот ответ не совсем правильно. Проблема заключается не в нехватке места, а в том, что перед '=' существует слишком много пробелов. Может быть ноль или один, но не два или более. –

0

${reqresstr}= '${response["_object"]}'

завернуть его в кавычки и два пробела после =

Смежные вопросы