Неверный или неожиданный токен в Канту, если условие - PullRequest
0 голосов
/ 29 января 2019

Я впервые использую инструмент веб-автоматизации Kantu .Большая часть этого интуитивно понятна, но сейчас я сталкиваюсь с ошибкой при циклическом просмотре CSV.Соответствующая часть моего сценария:

{
  "Command": "echo",
  "Target": "Found customer with email ${emailAddress}",
  "Value": ""
},
{
  "Command": "echo",
  "Target": "Expected email name: ${!COL1}",
  "Value": ""
},
{
  "Command": "if",
  "Target": "${emailAddress} == \"${!COL1}@domain.com\"",
  "Value": ""
},

Это создает следующий журнал:

[info] Выполнение: |эхо |Найден клиент с электронной почтой $ {emailAddress} ||

[echo] Найден клиент по электронной почте 70866223@domain.com

[info] Выполнение: |эхо |Ожидаемое имя электронной почты: $ {! COL1} ||

[echo] Ожидаемое имя электронной почты: 70866223

[info] Выполнение: |если |$ {emailAddress} == "$ enj!COL1‹@domain.com" ||

[ошибка] Ошибка в состоянии runEval, если: Неверный или неожиданный токен

Таким образом, вы можете видеть, что переменные ${emailAddress} и ${!COL1} хранятся правильно, но мои if условие не оценивается правильно.Я также попытался изменить \"${!COL1}@domain.com\" на ${!COL1} + \"@domain.com\" с тем же результатом.

Я предполагаю, что это связано с escape-символами или чем-то еще, но я не могу найти ничего связанного с документами.Любые указатели приветствуются.

1 Ответ

0 голосов
/ 29 января 2019

Выражение if обрабатывается как в storeEval.Цитировать из одного из примеров storeEval в документах :

x = "$ {myvar}";x.length;

Обратите внимание, что наша переменная $ {myvar} преобразуется в текстовую строку перед выполнением Javascript EVAL.Поэтому $ {myvar} должен быть внутри "...", как и любой другой текст.

Так что я бы сказал, что причина вашего кода не срабатывает в том случае, если ваш $ {emailAddress} не находится внутри строки.

"${emailAddress}" == "${!COL1}@domain.com"

должен работать.

...