“不支持带前缀'| id'的元素定位器”Robot框架中的错误

时间:2014-02-11 08:45:46

标签: robotframework

我正在使用机器人框架来测试GUI应用程序, 当我尝试运行测试用例时,得到了一个错误 “不支持带前缀'| id'的元素定位器”。 但我使用的是最新版本的selenium2library,即.2.39.0。

我会感激,如果有人帮我解决同样问题。

我还有一个问题,即。使用机器人框架时如何点击GUI上的内容

提前致谢

1 个答案:

答案 0 :(得分:2)

我认为,如果您在测试中混合使用两种类型的细胞分离器,那么获得此类错误消息的唯一方法就是。例如,您可能正在混合制表符和管道,或多个空格和管道。

Robot会逐行确定要使用的格式。首先,它在要解析的行中的任何位置查找选项卡,如果找到它,则使用制表符来分割该行。如果找不到选项卡,它会检查该行是否以管道和空格开头。如果是这样,它将管道用于分隔符。如果不这样做,它会使用多个空格作为分隔符。

我可以通过将管道与标签或多个空格混合来重现您所获得的确切错误。例如,以下内容将生成您报告的完全相同的错误:

# the next line begins with two spaces
  click element  | id=treeview_tv_active

机器人将检测两个前导空格并决定使用空格将线分割成单元格。因此,第一个单元格将是"click element",第二个单元格将是"| id=treeview_tv_active"。 Selenium在“=”之前查找所有内容作为定位器类型,因此它使用"| id"作为定位器,这是无效的并导致您看到的错误。

由于您没有向我们展示您的代码,因此无法确定,但我的猜测是导致问题的行以空格或制表符开头,或者在该行的其他位置嵌入了一个标签,但后来在同一行尝试使用管道作为单元格分隔符。