RobotFramework - 如何从关键字返回值并停止?

问题描述 投票:0回答:1

我想从关键字和退出关键字返回一个值,就像从函数返回值时在编程语言中那样。关键字从页面上的列表中选择一个随机项,但如果页面只包含1个项目,那么整个事情就会崩溃。我无法找到解决方案,这就是我做的atm:

Get Random Item From Page
    # Pass the general list items xpath to the argument
    [Arguments]  ${element_path}
    ${elements}=  Get Element Count  ${element_path}
    Run Keyword If  ${elements} == 1  [Return]  ${element_path}[1]
    ${random}=  FakerLibrary.Random Int  1  ${elements}
    [Return]  ${element_path}[${random}]

问题是它会在第一个返回标记之后继续执行关键字。我究竟做错了什么?

python robotframework
1个回答
4
投票

您可以使用Return from keywordReturn from keyword if从关键字的中间返回。

*** Keywords ***
Is number even or odd?
    [Arguments]  ${number}
    log  number is ${number}
    Return from keyword if  int('${number}')%2 == 0  even
    Return from keyword  odd

*** Test cases ***
Test even number
    ${result}=  Is number even or odd?  4
    should be equal  ${result}  even

Test odd number
    ${result}=  Is number even or odd?  5
    should be equal  ${result}  odd
© www.soinside.com 2019 - 2024. All rights reserved.