【问题标题】:Convert a list into a list of parameters using robot framework使用机器人框架将列表转换为参数列表
【发布时间】:2020-03-13 13:56:24
【问题描述】:

我正在使用机器人框架,我想使用一个接受可变数量参数的关键字

这是这个keyworkd的常见用法

keyWord to use  var1  var2 var3

现在我想从我自己的关键字中使用它,因为它在我的项目中很常见,并且我想避免在每个文件中重复循环。这是我尝试过的

Get data from users  var1  var2  var3

Get data from users
  [Arguments]  @{keys}
  :FOR    ${user}    IN    @{users}
  \       keyWord to use  ${keys}
  [Return]  ${userData}

但这不起作用,因为 ${keys} 是一个列表。

是否还是要转换这个列表:

${keys}   ['var1','var2','var3']

进入这个位置参数:

var1  var2  var3

【问题讨论】:

    标签: robotframework


    【解决方案1】:

    是否无论如何要将这个列表:...转换成这个位置参数:

    是的,将其作为参数传递,带有 @ 前缀 - 这将扩展它,并且每个成员都将成为被调用关键字的参数:

      \       keyWord to use  @{keys}
    

    【讨论】:

    • 谢谢,我对此很疯狂。请更新您的答案,您写的是 ${keys} 而不是 @{keys}
    • 是的,谢谢你,我没有把它正确地放在我解释它应该放在的地方:)
    【解决方案2】:
    *** Test Cases ***
    Keyword with args
    Some Keyword    a    b    c
    
    *** Keywords ***
    Some Keyword
        [Arguments]     @{args}
        Another keyword with args    @{args}
    
    Another keyword with args
        [Arguments]    @{args}
        : FOR    ${arg}    IN    @{args}
        \    Log To Console    Another keyword prints: ${arg}
    

    输出:

    Another keyword prints: a
    Another keyword prints: b
    Another keyword prints: c
    

    【讨论】:

      猜你喜欢
      • 2020-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-17
      相关资源
      最近更新 更多