Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Robotframework Robot框架中的“不支持前缀为“|id”的元素定位器”错误_Robotframework - Fatal编程技术网

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

Robotframework Robot框架中的“不支持前缀为“|id”的元素定位器”错误,robotframework,Robotframework,我正在使用robot框架测试GUI应用程序, 当我尝试运行测试用例时,出现了如下错误 不支持前缀为“|id”的元素定位器。 但我使用的是最新版本的Selenium2库,即2.39.0 如果有人在这方面帮助我,我会很感激的 我还有一个问题,即如何在使用robot框架时单击GUI上的内容 提前感谢我认为,如果您在测试中混合使用两种类型的细胞分离器,您就可以得到这样的错误消息。例如,可以混合选项卡和管道,也可以混合多个空间和管道 Robot逐行确定要使用的格式。首先,它在被解析的行中的任何位置查找一个

我正在使用robot框架测试GUI应用程序, 当我尝试运行测试用例时,出现了如下错误 不支持前缀为“|id”的元素定位器。 但我使用的是最新版本的Selenium2库,即2.39.0

如果有人在这方面帮助我,我会很感激的

我还有一个问题,即如何在使用robot框架时单击GUI上的内容


提前感谢

我认为,如果您在测试中混合使用两种类型的细胞分离器,您就可以得到这样的错误消息。例如,可以混合选项卡和管道,也可以混合多个空间和管道

Robot逐行确定要使用的格式。首先,它在被解析的行中的任何位置查找一个制表符,如果找到它,它将使用制表符拆分该行。如果找不到选项卡,它将检查直线是否以管道和空间开始。如果是,则使用管道作为分离器。否则,它将使用多个空格作为分隔符

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

# the next line begins with two spaces
  click element  | id=treeview_tv_active
机器人将检测到两个前导空间,并决定使用这些空间将线路分割成单元。因此,第一个单元格将是click元素,第二个单元格将是| id=treeview_tv_活动的。Selenium查找=之前的所有内容作为定位器类型,因此它使用| id作为定位器,这是无效的,会导致您看到的错误


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

请分享你的源代码,否则很难帮助你是的,请分享你的代码。错误消息提示您在其中有额外的|字符,但如果没有看到代码,则很难知道。要单击treeview中的节点,我已经编写了一个类似于Click Element | id=treeview_tv_active的代码,这会起作用吗???或者你能告诉我在treeview中单击节点的代码吗?请分享更多的代码,因为现在不可能知道你是如何真正格式化代码的,在这种情况下,格式化非常重要。Treeview不是一个标准元素,所以我们不知道你的意思。单击Element | id=treeview_tv_active是有效的,但错误消息提示您有双管道或缺少空格或类似的内容。