我正在做一些自动化测试。
在一些操作之后,系统应该在后面做一些事情,然后它应该在数据库中保存一个特定的值。
我想要一个函数,直到这个值被保存到数据库中,超时时间可以说是 30 秒。
类似的东西:
expected_value = "hello"
expect(check_in_db()['field_X'], expected_value, timeout=30000)
想法是这个
expect
函数应该在30秒内评估check_in_db()['field_X']
直到值等于expected_value
我一直在检查这个问题在 Python 中是否有一种简单的方法来等待特定条件为真? 如果我只有
check_in_db()
就可以了,但在我的情况下我不需要只有check_in_db()
,我需要check_in_db()['field_X']
,所以我也需要评估这部分:['field_X']
.
另外我似乎
pexpect
这个例子:
from pexpect import expect
expected_value = "hello"
expect(check_in_db()['field_X']).to_be(expected_value)
但它不会等到条件为真,它只会尝试一次。