如何让机器人框架等到数据出现在 MySQL 表上以继续执行测试用例

我的测试用例修改了 MySQL 表上的一个值,测试用例外部的正在运行的服务进行了一些处理,在 5 到 10 秒内获取先前的值并将其移动到另一个表。


所以下面的代码来自测试用例,我想验证服务是否将值移动到另一个表。


${Result}=    Select Data From Database  SELECT item_id FROM service_table.items WHERE item_id = "30782";

Expected Result  ${Result}  30782 

问题是服务很慢,当测试用例运行该脚本时,该值不在表上并且测试失败,有没有办法让脚本等到项目在另一个表上?


holdtom
浏览 176回答 2
2回答

UYOU

请检查DatabaseLibrary,我经常使用它。它提供关键字“检查数据库中是否存在”,我认为应该注意响应时间长。在我的经验中,我从来没有遇到过与响应时间长相关的问题,但你知道永远不要说永远;)

富国沪深

您将需要编写一个自定义关键字来执行此操作。例如,您可以编写一个名为“等待数据库查询”的关键字,它接受查询和超时。我不知道是否有任何低级函数可以做到这一点,但一个简单的技巧可能是使用Wait until 关键字成功继续尝试 select 语句,直到它成功或超时。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python