Loops 如何在机器人框架中的定位器上逐个验证单词?

Loops 如何在机器人框架中的定位器上逐个验证单词?,loops,for-loop,robotframework,Loops,For Loop,Robotframework,我对机器人框架还是有点陌生,但请放心,我一直在阅读它的用户指南。我现在有点被一个测试用例卡住了 我确实有一个单字列表,我需要在页面上验证,如果字段标签正确显示或在元素中找到,则大部分是字段标签的德语翻译 我创建了一个列表变量,如下所示: @{德语单词}贝努策|帕斯沃特|森东|跨大西洋|诺提兹 我有以下定位器,其中包含网页上的文本标签,以及我需要验证的定位器: ${GENERAL_GERMAN_BOARD}| xpath=/*[@id=“generalAndIncidents:generalAnd

我对机器人框架还是有点陌生,但请放心,我一直在阅读它的用户指南。我现在有点被一个测试用例卡住了

我确实有一个单字列表,我需要在页面上验证,如果字段标签正确显示或在元素中找到,则大部分是字段标签的德语翻译

我创建了一个列表变量,如下所示:

@{德语单词}贝努策|帕斯沃特|森东|跨大西洋|诺提兹

我有以下定位器,其中包含网页上的文本标签,以及我需要验证的定位器:

${GENERAL_GERMAN_BOARD}| xpath=/*[@id=“generalAndIncidents:generalAndIncidentsPanel”]

我想逐个检查列表变量中的每个单词,看看它们是否出现在上面的定位器中

我确实为此创建了以下关键字,但是我可能遗漏了一些内容,因为它调用了我列表变量的整个内容,而不是逐个检查其中的单词:

Block Text Verification
    [Arguments]    ${text_list_variable}    ${locator_to_check}

    Wait Until Element is Visible    ${locator_to_check}

    FOR    ${label}    IN    ${text_list_variable}
        ${labelTostring}    Convert to String    ${label}
        ${isMatching} =    Run Keyword and Return Status    Element Should Contain    ${locator_to_check}    ${labelTostring}
        Log    ${label}
        Log    ${isMatching}
        Exit For Loop If    '${isMatching}' == 'False'
    END 
我将为此获得以下输出:

元素 'xpath=/*[@id=“generalAndIncidents:generalAndIncidentsPanel”]'应该 包含文本“['Benutzer'、'Passwort'、'Sendung', “Transaktionen”,“Notiz']”但它的文本是。。。。(它列出了所有 来自我的定位器的文本)

因此,它基本上不是逐个检查单词

我做错什么了吗?这是我在这里尝试的一种糟糕的方法吗

如果有人能给我一些提示,告诉我应该在这里做些什么,我将不胜感激


多谢各位

您犯了一个很小但很关键的错误-这一行中的变量:

FOR    ${label}    IN    ${text_list_variable}
,应使用
@
访问:

FOR    ${label}    IN    @{text_list_variable}

RF中的for in循环需要循环值的1个或多个参数,
@
将列表变量扩展到其成员。

Ohh,这很有意义!非常感谢你指出这一点!非常感谢!现在,我将进一步开发此代码以实现我的目标:)再次感谢!