我是第一次使用Kantu web automation tool。大部分都是直观的,但是现在遍历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} ==“ ${!COL1}@domain.com” | |
[错误]的runEval条件错误,如果:无效或意外令牌
因此您可以看到变量${emailAddress}
和${!COL1}
的存储正确,但是我的if
条件没有正确求值。我也尝试过将\"${!COL1}@domain.com\"
更改为${!COL1} + \"@domain.com\"
,结果相同。
我认为这与转义字符有关,但我在文档中找不到任何相关内容。任何指针表示赞赏。
答案 0 :(得分:3)
The if expression的处理方式与storeEval类似。引用docs中的storeEval示例之一:
x =“ $ {myvar}”; x.length;
请注意,在执行Javascript EVAL之前,将变量$ {myvar}转换为文本字符串。因此,$ {myvar}必须像其他任何文本一样位于“ ...”内。
因此,我想说您的代码在if上失败的原因是您的$ {emailAddress}不在字符串内。
"${emailAddress}" == "${!COL1}@domain.com"
应该工作。