【问题标题】:How to define a variable being a dictionary with list values in Robot Framework如何在 Robot Framework 中将变量定义为具有列表值的字典
【发布时间】:2021-01-09 06:52:34
【问题描述】:

在我的一个测试用例中,我需要定义一个字典,其中键是字符串,值是字符串数组。如何在 Robot Framework 中执行此操作?

我第一次尝试使用如下所示的构造,但不起作用。

*** Variables ***
&{Dictionary}     A=StringA1  StringA2   
...               B=StringB1   StringB2

另一个想法可能是使用 Evaluate 并将 python 表达式传递给字典,但这是唯一的方法吗?

*** Variables ***
&{Dictionary}     Evaluate  { "A" : ["StringA1",  "StringA2"], "B": ["StringB1","StringB2"]}

【问题讨论】:

    标签: python dictionary robotframework


    【解决方案1】:

    除了使用 Evaluate 关键字之外,您还有更多选择。

    1. 您可以使用 Python 变量文件:

      DICTIONARY = { "A" : ["StringA1",  "StringA2"], "B": ["StringB1","StringB2"]}
      

      套房:

      *** Settings ***
      Variables    VariableFile.py
      
      *** Test Cases ***
      Test
          Log    ${DICTIONARY}
      
    2. 您可以单独定义列表,然后在定义字典时将它们作为标量变量传递。

      *** Variables ***
      @{list1}    StringA1    StringA2
      @{list2}    StringB1    StringB1
      &{Dictionary}    A=${list1}    B=${list2}
      
      *** Test Cases ***
      Test
          Log    ${Dictionary}
      
    3. 您可以使用Create ListCreate Dictionary 关键字创建用户关键字。您可以通过编写一个小型库在 Python 中实现相同的目的。

      *** Test Cases ***
      Test
          ${Dictionary}=    Create Dict With List Elements
          Log    ${Dictionary}
      
      
      *** Keyword ***
      Create Dict With List Elements
          ${list1}=    Create List    StringA1    StringA2
          ${list2}=    Create List    StringB1    StringB1
          ${Dictionary}=    Create Dictionary    A=${list1}    B=${list2}
          [return]    ${Dictionary}
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-01
      • 2021-08-26
      • 2017-02-28
      • 1970-01-01
      • 2018-03-18
      • 2021-08-07
      • 1970-01-01
      相关资源
      最近更新 更多