如何在 Robot Framework 中将变量定义为具有列表值的字典

2024-04-29

在我的一个测试用例中,我需要定义一个字典,其中键是字符串,值是字符串数组。我怎样才能在机器人框架中做到这一点?

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

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

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

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

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

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

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

    Suite:

    *** 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 List and Create 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}
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Robot Framework 中将变量定义为具有列表值的字典 的相关文章

随机推荐