Python 如何在Robot框架中实现轮询

Python 如何在Robot框架中实现轮询,python,robotframework,Python,Robotframework,我是机器人框架的新手。 我有一个执行以下步骤的测试用例 1.连接到数据库 2.向服务器提交作业 3.作业完成后,将更新作业表中的状态Job completed 4.一旦作业表更新为状态作业已完成要检查数据库中其他表中的其他值吗 现在我已经介绍了第二步之后的睡眠,我想避免。有时工作可能需要5分钟才能完成,有时需要2分钟。 在这种情况下,我如何继续添加轮询。在这种情况下,我不想硬编码睡眠 下面是我的一段代码 *** Settings *** Suite Setup Connect

我是机器人框架的新手。 我有一个执行以下步骤的测试用例 1.连接到数据库 2.向服务器提交作业 3.作业完成后,将更新作业表中的状态
Job completed
4.一旦作业表更新为状态
作业已完成
要检查数据库中其他表中的其他值吗

现在我已经介绍了第二步之后的睡眠,我想避免。有时工作可能需要5分钟才能完成,有时需要2分钟。 在这种情况下,我如何继续添加轮询。在这种情况下,我不想硬编码睡眠

下面是我的一段代码

*** Settings ***

Suite Setup          Connect To DB
Suite Teardown       Disconnect From DB

*** Test Cases ***
TC1
    [Tags]  Debug
    log to console  Test1
    Submit The Job
    sleep  5 minutes
    ${queryResults}=  DB.query  SELECT status FROM job_table WHERE job_id=1;
    Verify Other Table Values

我可以建议的两个关键词是

运行关键字和返回状态

等待关键字成功

我只是稍微修改了你的代码,让它更具解释性

*** Settings ***

*** Test Cases ***
TC1
    [Tags]  Debug
    log to console  Test1
    ${success} =  Run Keyword and Return Status  Submit The Job      #Code will not switch to next keyword untill this keyword return the satus as True or False
    log  ${success}
    wait until keyword succeeds  2x  200ms  Submit The Job     #This Kw will run the KW 2 times if  KW fails   while waiting 200ms after each result

*** Keywords ***
Submit The Job
    Sleep  5s
有关这些关键字的更多详细信息,请访问