Automated tests 根据元素的存在运行robot关键字
有没有一种方法可以获取页面上是否存在Robot框架中的元素的信息 若页面上存在元素,我想执行一个操作,若元素不存在,我想执行另一个操作 在Selenium中,我将使用Automated tests 根据元素的存在运行robot关键字,automated-tests,robotframework,selenium2library,Automated Tests,Robotframework,Selenium2library,有没有一种方法可以获取页面上是否存在Robot框架中的元素的信息 若页面上存在元素,我想执行一个操作,若元素不存在,我想执行另一个操作 在Selenium中,我将使用findElements(),这将返回元素列表,如果没有找到任何元素,则返回空列表 但是,在Robot中,如果我使用获取webelements但未找到任何内容,则测试会出错: ValueError: Element locator 'id=asdf' did not match any elements. 一种方法是在页面中的元素
findElements()
,这将返回元素列表,如果没有找到任何元素,则返回空列表
但是,在Robot中,如果我使用获取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
页面应该包含元素而不是
,
你可以使用元素应该是可见的
,我希望“元素应该是可见的”会被破坏,但它就像一个符咒一样工作!谢谢!它确实“中断”——在某种意义上,如果元素不存在,它将失败,但这就是Run关键字if
的作用——正是针对您打算使用它的流。啊哈,这就清除了它。最初,我会将一个变量设置为“GetWebElements”,然后如果这个变量是this或that,则运行关键字。。