1

我在从文件中读取列表变量时遇到问题。我有一个包含 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 知道有一个给定名称的变量,但不知道它是一个列表变量。难道我做错了什么?

4

1 回答 1

7

要明确区分作为标量变量值的列表和列表变量,您必须LIST__在变量文件中为 @{vars} 使用前缀。有关详细信息,请参阅Robot Framework 用户指南:直接创建变量

在您的情况下,这将是:

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

一般来说,有三种方法可以初始化变量文件中的列表:

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

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

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

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

${TEST2[0]}
于 2013-01-28T15:03:47.753 回答