Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/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
Automated tests 根据元素的存在运行robot关键字_Automated Tests_Robotframework_Selenium2library - Fatal编程技术网

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

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. 一种方法是在页面中的元素

有没有一种方法可以获取页面上是否存在Robot框架中的元素的信息

若页面上存在元素,我想执行一个操作,若元素不存在,我想执行另一个操作

在Selenium中,我将使用
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,则运行关键字。。