You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复executeScript执行时出现的missing ) after argument list错误?

执行含单引号的脚本时出现语法错误的解决方法

问题场景

我使用以下代码:

Store text | xpath=(//button[contains(@type,'button')])[4] | ots
execute script | return ${ots}.includes("Mis OT's"); | otsmod
if | ${otsmod} == true
echo | Mis OT's OK

执行时触发错误:

Error:executeScript on return ${ots}.includes("Mis OT's"); with value otsmod Failed:missing ) after argument list

我推测错误和字符串中的单引号有关,因为不含单引号的类似代码可正常运行:

store text | xpath=(//button[contains(@type,'button')])[3] | agen
execute script | return ${agen}.includes("Agendamientos"); | agend
if | ${agend} == true
echo | Agendamientos OK

原因分析

错误确实由字符串内部的单引号引发语法冲突。解析"Mis OT's"时,字符串里的单引号会被误判为JavaScript代码的语法终止符,导致代码结构错乱,出现括号不匹配的报错。

解决办法

可以通过三种方式规避这个问题:

  • 转义内部单引号:在字符串内的单引号前添加反斜杠,明确告知解析器这是字符串的一部分:
    execute script | return ${ots}.includes("Mis OT\'s"); | otsmod
    
  • 切换字符串包裹符号:将外层的双引号换成单引号,同时转义内部的单引号,避免语法冲突:
    execute script | return ${ots}.includes('Mis OT\'s'); | otsmod
    
  • 使用模板字符串:如果测试工具支持ES6语法,用反引号包裹字符串,内部单引号无需转义,写法更直观:
    execute script | return ${ots}.includes(`Mis OT's`); | otsmod
    

内容的提问来源于stack exchange,提问作者Baltasar Magaña

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 04:57:18