变量“@{credentials}[0]”的值不是列表或类列表

问题描述 投票:0回答:3

我是一个新的 robotsframework 用户,当我尝试使用列表变量时,出现以下错误。真的不知道我哪里错了吗?

Value of variable '@{credentials}[0]' is not list or list-like.

@{credentials}    Admin    admin123
Input Text    id=txtUsername    @{credentials}[0]
list variables robotframework
3个回答
5
投票

在 Robot Framework 3.1 之前,访问列表项的格式为

@{credentials}[0]
。当前版本中,格式为
${credentials}[0]
.

Format

@{credentials}[0]
只能用于列表的列表(意味着最终结果是一个列表)。

声明并调用列表变量,如下所示:

@{credentials}    Admin    admin123
Input Text    id=txtUsername    ${credentials}[0]

请参阅文档:访问列表和字典项目


2
投票
'@{credentials}[0]' is not list or list-like.

@{credentials}    Admin    admin123 Input Text    id=txtUsername   
@{credentials}[0] 

这是机器人框架中的列表。提取

Admin
我们可以使用
${credentials}[0]
。你收到错误是因为你的 框架版本较高,但您引用的是旧内容。使用
${credentials}[0]
即可解决。为了更清楚起见, 你可以参考这个: https://robocorp.com/docs/languages-and-frameworks/robot-framework/variables


0
投票

请检查您的问题中的代码格式是否正确。 但我猜你的代码如下:

*** Variables ***
    @{credentials}    Admin    admin123

*** Test Cases ***
    Create List Variable
    Log    @{credentials}[0]

如果你想输入

Admin
id-txtUsername
,你需要这样改变:

Input Text    id=txtUsername    ${credentials}[0]

我认为您需要阅读本部分以了解

@
标志的工作原理。 使用
@
符号,列表将展开并显示单个项目。

用户指南中的示例。两个测试用例是相同的:

*** Test Cases ***
Constants
    Login    robot    secret

List Variable
    Login    @{USER}
© www.soinside.com 2019 - 2024. All rights reserved.