Неверный или неожиданный токен в Канту, если условие
Я использую инструмент веб-автоматизации 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"
должно сработать.