Robot Framework中Run Keyword If语法错误:移除多余单引号
解决Robot Framework中Run Keyword If的语法错误
你遇到的这个报错是因为Run Keyword If的语法格式写错啦,Robot Framework对这个关键字的语法有明确要求,咱们一步步来修正:
问题根源
- 变量引用的多余引号:你写的
"${allz}"会让Robot把整个带变量的字符串当成一个字面量,加上后面的内容连在一起,直接导致表达式解析失败。 - 关键字语法结构错误:
Run Keyword If的正确格式是Run Keyword If <判断条件> <要执行的关键字> [关键字参数],条件和后续关键字之间必须用空格分隔,你之前把条件和Log to Console连在一起了,Robot就把整段内容当成了一个无效的表达式。
修正后的完整代码
*** Variables *** ${allz}= checkq *** Test Cases *** Test title Test IFCOND *** Keywords *** Test IFCOND Run Keyword If ${allz} == "checkq" Log to Console value is one
关键修改点拆解
- 去掉变量外的引号:把
"${allz}"改成${allz},直接用变量本身和字符串"checkq"做比较即可。 - 给
Run Keyword If的各个部分加空格:条件${allz} == "checkq"、关键字Log to Console、关键字参数value is one之间都用空格分隔开,这样Robot就能正确识别每个逻辑部分了。
这样修改后,你的测试用例就能正常执行,控制台会输出value is one啦~
内容的提问来源于stack exchange,提问作者Soundarya Lahari Kamalapuram
相关产品推荐
相关产品推荐

