根据元素的存在运行robot关键字

时间:2017-05-10 12:39:51

标签: automated-tests robotframework selenium2library

有没有办法在Robot框架中获取有关元素是否存在于页面上的信息?

如果元素存在于页面上,我想采取一个动作,如果元素不存在,我想采取另一个动作。

在Selenium中,我会使用findElements(),这会返回一个元素列表,如果没有找到则会返回一个空列表。

然而,在机器人中,如果我使用Get webelements并且找不到任何内容,则测试中断时会出现错误:

ValueError: Element locator 'id=asdf' did not match any elements.

1 个答案:

答案 0 :(得分:5)

一种方法是获取布尔值是页面中的元素:

mytype

,然后根据值控制流程:

IEnumerable<object>

而不是${present}= Run Keyword And Return Status Page Should Contain Element ${your_locator} ,您可以使用Run Keyword If ${present} The keyword(s) if present ... ELSE The keyword(s) if NOT present