我对机器人框架还是有点陌生,但是请放心,我一直在阅读它的《用户指南》。我现在只受一个测试用例的困扰。
我确实有一个单词列表,需要在页面上进行验证,大部分是字段标签的德语翻译,如果它们正确显示或完全在元素中找到的话。
我创建了一个列表变量,如下所示:
@ {GERMAN_WORDS} | 贝努泽| Passwort | 仙洞| Transaktionen | 诺蒂兹
我有以下定位器,该定位器包含网页上的文本标签,而我需要验证该定位器:
$ {GENERAL_GERMAN_BOARD} | xpath = // * [@ id =“ generalAndIncidents:generalAndIncidentsPanel”]
我想逐一检查list变量中的每个单词,看看是否在上面的定位器中。
我确实为此创建了以下关键字,但是我可能会遗漏一些东西,因为它调用了list变量的全部内容,而不是一个一个地检查其中的单词:
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个或多个循环值的参数,并将@
list变量扩展为其成员。
哦,那是有道理的!非常感谢您指出这一点!不胜感激!现在,我将进一步开发此代码,以在这里实现我的目标:)再次感谢!