我需要编写如下代码:
元素文本更改/更新需要一分钟,我如何编写循环来检查直到元素文本更改?
是否有我可以为此使用的关键字,或者我如何在机器人框架中使用循环?
SeleniumLibrary 中有一个关键字专门用于此 - 等待元素包含,如果您知道目标字符串。
如果您不知道 - 有一个互惠关键字
Wait Until Element Does Not Contain
,您可以在其上传递旧值。
如果这些由于某种原因无法达到目的,您可以编写您的特定版本;算法是:
WHILE
循环,条件为(current_time - start_time) < some_max_wait_time
值;在循环内:
BREAK
while 循环Sleep
100/300/1000 毫秒(无论您的上下文的合理时间是什么)RETURN
;如果不是-您可以使用布尔值来传达这一点,如果不是,则FAIL
。这个的一个变体是作为while条件
current_value == 'desired one'
(或!= 'staring one'
)并检查它是否超过了循环内的最大等待时间,如果是这样就调用Fail
。
这种方法更通用——例如,我用它来检查数据库更改、文件、消息总线系统等