我是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进行编辑。
编辑: 我必须循环完成。我正在寻求帮助,以便我可以在我工作的其他地方使用这个循环示例。
答案 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 error或Run keyword and continue on failure之类的东西(例如:Run keyword and ignore error | Wait until page contains element | ...
)