有没有办法在Robot框架中获取有关元素是否存在于页面上的信息?
如果元素存在于页面上,我想采取一个动作,如果元素不存在,我想采取另一个动作。
在Selenium中,我会使用findElements()
,这会返回一个元素列表,如果没有找到则会返回一个空列表。
然而,在机器人中,如果我使用Get webelements
并且找不到任何内容,则测试中断时会出现错误:
ValueError: Element locator 'id=asdf' did not match any elements.
答案 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
。