`robot框架中的测试用例超时,使用测试用例变量而不是***变量***部分中定义的变量`

2024-04-20 01:22:27 发布

您现在位置:Python中文网/ 问答频道 /正文

*** Settings ***
Library         Collections
Documentation    Suite description
Test Timeout    60 minutes

*** Test Cases ***
Test title
${TEST_TIMEOUT1}  set variable  120   
log to console  ${TEST_TIMEOUT1}
[Timeout]  ${TEST_TIMEOUT1} minutes

我试图用变量${TEST_TIMEOUT1}用测试用例时间[TIMEOUT]更新默认测试超时60分钟。 我想使用一个变量,而不是硬编码的值。 使用硬编码值[TIMEOUT]可以很好地工作。但如果使用测试用例变量替换,将面临以下错误

设置测试超时失败:未找到变量“${TEST_TIMEOUT1}”。 你能帮我解决这个问题吗


Tags: test编码settingsdocumentationlibrarytimeout测试用例description
1条回答
网友
1楼 · 发布于 2024-04-20 01:22:27

问题是

*** Test Cases ***
Test title
    ${TEST_TIMEOUT1}  set variable  120   
    log to console  ${TEST_TIMEOUT1}
    [Timeout]  ${TEST_TIMEOUT1} minutes

未按此顺序执行[Timeout]属于测试用例设置,所以它在前两行之前执行。毕竟这是设置,所以首先执行它,然后运行实际的测试步骤是有意义的

解决方案很简单,在测试用例之外定义${TEST_TIMEOUT1},例如:

*** Settings ***
Test Timeout    60 minutes

*** Variables ***
${TEST_TIMEOUT1}=    120 minutes

*** Test Cases ***
Test title
    [Timeout]  ${TEST_TIMEOUT1}

然后默认超时为60分钟,但在测试标题中它将被覆盖,并使用120分钟的值

进一步阅读:

相关问题 更多 >