Python Robot框架:如何从关键字中获取列表并验证项目

Python Robot框架:如何从关键字中获取列表并验证项目,python,robotframework,Python,Robotframework,所以在我的测试中,我有关键字返回列表: @{channels}= Get Channels 例如,返回列表是['1','4','11'] 我想循环这个列表,验证1,4和11是否存在于该列表中 这就是我所尝试的: FOR ${ELEMENT} IN @{channels} Log ${ELEMENT} List Should Contain Sub List @{channels} ${EL

所以在我的测试中,我有
关键字
返回列表:

@{channels}=        Get Channels
例如,返回列表是
['1','4','11']

我想循环这个列表,验证1,4和11是否存在于该列表中

这就是我所尝试的:

FOR     ${ELEMENT}        IN      @{channels}
            Log     ${ELEMENT}
            List Should Contain Sub List  @{channels}  ${ELEMENT}
END
我收到了这个
错误

TypeError:参数1应为列表或类似列表的,Get string 相反


问题在于如何使用第一个变量。使用decorator,您只能告诉robot框架如何使用变量。您可以阅读有关列表变量和装饰器的更多信息

只需使用列表将结果保存为($),应该包含更匹配的值,因为在${ELEMENT}中没有子列表

FOR     ${ELEMENT}        IN      @{channels}
            Log     ${ELEMENT}
            List Should Contain Value    ${channels}    ${ELEMENT}
END

问题在于如何使用第一个变量。使用decorator,您只能告诉robot框架如何使用变量。您可以阅读有关列表变量和装饰器的更多信息

只需使用列表将结果保存为($),应该包含更匹配的值,因为在${ELEMENT}中没有子列表

FOR     ${ELEMENT}        IN      @{channels}
            Log     ${ELEMENT}
            List Should Contain Value    ${channels}    ${ELEMENT}
END

因此,我只将@{channels}=更改为${channels}=并再次更改:TypeError:预期参数1是列表或类似列表的,改为获取字符串。这很奇怪。你能用“Log”关键字看看${cahnnels}吗?${cahnnels}:['1','6','11']我明白了。错误出现在关键字“列表应包含子列表”上?您还应该在此关键字中使用$decorator。我必须承认我看起来不太像是的,关键字“列表应该包含子列表”,所以我只将@{channels}=更改为${channels}=并且再次:TypeError:预期参数1是列表或类似列表的,取而代之的是字符串。这很奇怪。你能用“Log”关键字看看${cahnnels}吗?${cahnnels}:['1','6','11']我明白了。错误出现在关键字“列表应包含子列表”上?您还应该在此关键字中使用$decorator。我必须承认我看起来不太像是的,关键字“列表应该包含子列表”