如果条件

时间:2019-01-29 11:20:15

标签: selenium ui-automation kantu

我是第一次使用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\",结果相同。

我认为这与转义字符有关,但我在文档中找不到任何相关内容。任何指针表示赞赏。

1 个答案:

答案 0 :(得分:3)

The if expression的处理方式与storeEval类似。引用docs中的storeEval示例之一:

  

x =“ $ {myvar}”; x.length;

     

请注意,在执行Javascript EVAL之前,将变量$ {myvar}转换为文本字符串。因此,$ {myvar}必须像其他任何文本一样位于“ ...”内。

因此,我想说您的代码在if上失败的原因是您的$ {emailAddress}不在字符串内。

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

应该工作。