Неверный или неожиданный токен в Канту, если условие

Я использую инструмент веб-автоматизации 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": ""
},

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

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

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

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

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

[информация] Выполнение: | если | ${emailAddress} == "$ enj!COL1‹@domain.com" | |

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

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

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

1 ответ

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

х ="${MyVar}"; x.length;

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

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

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

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

Другие вопросы по тегам