运行 机器人关键字取决于元素的存在

Run robot keyword depending on existence of the element

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

如果页面上存在元素,我想执行一项操作;如果元素不存在,我想执行另一项操作。

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

然而,在 Robot 中,如果我使用 Get webelements 但未找到任何内容,测试会因错误而中断:

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

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

${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

您可以使用 Element Should Be Visible.

而不是 Page Should Contain Element