You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Robot Framework:带参数关键字失败测试与Python函数断言问题

解决Robot Framework中验证带参数Python函数返回值的问题

嘿,这个场景我太熟悉了!Robot Framework的Should Be True确实只接受1-2个参数,没法直接把带参数的函数调用塞进去,但有几个简单的办法能解决:

方法1:用Run Keyword包裹函数调用

Run Keyword关键字的作用就是执行指定的关键字/函数并返回它的结果,刚好可以用来给Should Be True提供验证值。写法如下:

Should Be True    Run Keyword    Check Value    ${nTimes}    ${nSeconds}    ${expectedValue}

这样Run Keyword会先执行Check Value并返回布尔结果,再交给Should Be True去验证是否为真。

方法2:先存储结果再验证

如果觉得上面的写法有点绕,也可以先把函数的返回值存到变量里,再用Should Be True验证,可读性更强:

${check_result} =    Check Value    ${nTimes}    ${nSeconds}    ${expectedValue}
Should Be True    ${check_result}

这种方式的好处是,如果你后续还需要用到这个结果,直接用变量就行,不用重复调用函数。

方法3:封装自定义关键字(推荐复用场景)

如果这个验证逻辑会在多个用例里用到,不如封装成一个自定义关键字,以后调用起来更简洁:

*** Keywords ***
Validate Check Value Is True
    [Arguments]    ${nTimes}    ${nSeconds}    ${expectedValue}
    ${result} =    Check Value    ${nTimes}    ${nSeconds}    ${expectedValue}
    Should Be True    ${result}

之后在测试用例里直接调用:

Validate Check Value Is True    5    10    ${expected}

另外补充一句:Robot Framework里确实没有类似编程语言里的括号语法,能直接把带参数的函数调用作为参数传递,所以上面这些是最常用的解决思路。

内容的提问来源于stack exchange,提问作者AronAtVW

火山引擎 最新活动