for循环检查Robot Framework中的xpath

时间:2015-06-25 23:52:29

标签: for-loop robotframework

我是Robot Framework的新手。我想实现一个For循环来检查页面上的xpath。它应该等待10秒的xpath,如果xpath仍然不在那里然后再等待10秒,如果xpath出现然后退出循环并向前移动。等待元素需要总共10次迭代。 我正在尝试以下内容:

|| ${count}= | Get Matching Xpath Count | xpath=//*[.='Continue'] |
|| :FOR       | ${loopIndex}            | IN RANGE                | 10
              | Wait Until Page Contains Element | xpath=//*[.='Continue'] |    10
              | Exit For Loop If        |   ${count}>0  
|| Log          | Got out of loop

我现在收到的错误是: 失败:元素' xpath = // * [。='继续']'没有在10秒内出现。

如果我错过了一些信息,请告诉我。我正在使用RIDE进行编辑。

编辑: 我必须循环完成。我正在寻求帮助,以便我可以在我工作的其他地方使用这个循环示例。

2 个答案:

答案 0 :(得分:1)

您可以使用FOR循环或“Wait until keyword succeeded”来实现此目的。

见两个例子:

*** Test Cases ***
test with for loop
  :FOR  ${loopIndex}  IN RANGE  10
  \  ${element_is_here} =  Run Keyword and return status  Page should contain element  xpath=//*[.='Continue']
  \  Exit For Loop If  ${element_is_here}
  \  sleep  10s
  Log  I found the element

test with WUKS
  wait until keyword succeeds  10s  10s  Page should contain element  xpath=//*[.='Continue']
  Log  I found the element

答案 1 :(得分:0)

关键字失败,因此测试用例失败。您需要做的是要么不使用循环而只是等待100秒,要么使用Run keyword and ignore errorRun keyword and continue on failure之类的东西(例如:Run keyword and ignore error | Wait until page contains element | ...