Robot Framework在IF语句中校验xpath取值时找不到Stuurman关键字怎么办
错误原因
你编写的变量赋值语句不符合Robot Framework语法规则:
- 在Robot Framework中,给变量赋值固定字符串时,必须显式调用
Set Variable关键字,不能直接在${变量名}=后接赋值内容。 - 你写的
${stuurman}= Stuurman语句中,框架会将=后第一个空格分隔的内容识别为待调用的关键字,因此会抛出「找不到名为'Stuurman'的关键字」的报错。
修正方案
将变量赋值行修改为使用Set Variable关键字的写法即可,完整修正代码如下:
Check if sorted by alphabet sleep 3s ${stuurman}= Set Variable Stuurman ${sorted}= Get Text xpath:/html/body/div[1]/div/div[2]/div/div/div/div[1]/div/div[2]/table/tbody/tr[12]/td[2] IF ${sorted} == ${stuurman} Log To Console "Sorted" ELSE Log To Console "Not sorted" END
可选优化建议
- 可以先对
Get Text获取到的文本用Strip String关键字去除首尾空白字符,避免页面隐含空格导致判断失败 - 尽量不要使用全量绝对路径写xpath,可通过表格id、类名等属性缩短xpath,降低页面结构变动导致定位失效的概率
内容的提问来源于stack exchange,提问作者Mwiendels
相关产品推荐
相关产品推荐

