【问题标题】:Robotframework list variable from variable file来自变量文件的 Robotframework 列表变量
【发布时间】:2013-01-11 21:50:22
【问题描述】:

我在从文件中读取列表变量时遇到问题。 我有一个包含 3 个变量的文件(variables.py):

TEST1=212
TEST2=[111, 222, 333, 444, 555, 666]
TESTS3="sadasd"

${TEST1}${TEST3} 都可以访问(我从变量文件中获取值) 但是当我尝试使用@{TEST2}[2] 访问第二个变量时,我得到一个错误:

FAIL : Non-existing variable '@{TEST2}[2]'

只有在我尝试使用文件中的变量时才会发生这种情况。如果我在 RIDE 中创建列表变量,我可以使用 @{Variable}[{$index}] 轻松访问它

如果我尝试这种语法:${TEST2}[2],我会得到:

'[111, 222, 333, 444, 555, 666][2]'

因此,robotframework 知道有一个具有给定名称的变量,但不知道它是一个列表变量。 难道我做错了什么?

【问题讨论】:

    标签: list variables file-upload robotframework


    【解决方案1】:

    要明确区分作为标量变量值的列表和列表变量,您必须在变量文件中为@{vars} 使用LIST__ 前缀。详情请见Robot Framework User Guide: Creating variables directly

    在你的情况下,这将是:

    LIST__TEST2 = [111, 222, 333, 444, 555, 666]
    

    一般来说,在variable files中初始化列表有三种方式:

    STRINGS = ["one", "two", "three", "four"]
    LIST__STRINGS = ["one", "two", "three", "four"]
    

    不要将此与 *** Variables *** 部分的语法混淆,其中初始化列表将是:

    *** Variables ***
    @{STRINGS}     | one | two | three | four
    

    您可以访问分配给标量变量的列表中的各个元素,如下所示:

    ${TEST2[0]}
    

    【讨论】:

    • 现在我觉得有点傻。多次通过变量部分,但没有看到。非常感谢!
    • 刚刚修复了链接。
    • 今天偷偷摸摸的芬兰语课:D
    • 非常感谢.. :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多