Robotframework:如何接收 select 字段内所有项目的列表?

Robotframework: How to receive a list of all items inside a select field?

我目前在 Robotframework 上进行测试自动化时陷入困境。恳请您的协助。

我有一个 select 以下样式的字段:

<select name="TestSelect" size="8" id="TextSelectInfoBox"     onchange="JavaScript:setTestSelect( TestSelect1, TestSelect2 );">                    
                    <option value="TestOption1"> First Entry</option>
</select>

我现在想检查 select 项是否包含值 TestOption1。

我在这个网站上找到了提示,我可以使用 "List Should Contain" 关键字。

为此,我定义了变量:

${XPath_AccessList} xpath=//select[@name="TestSelect"]

感谢对我问题的快速回复,我现在可以使用

Page should contain element   path=//select[@name="TestSelect"]/option[@value="TestOption1"]

让我的第一个测试通过。不过,我想知道是否有一种方便的方法来获取 select 字段的选项作为 "List Should Contain Value" 关键字后期使用的列表。

在 RobotFramework 指南上搜索时,我确实只找到了 XML 库,它似乎具有 "Get Child Elements" 之类的功能,可能会提供解决方案,但看到它时我有点怀疑需要一个 "source" 参数,我无法提供。

预先感谢您的帮助,如果您有任何进一步的问题,我会尽力提供。

此致,

托尼

List should contain 仅适用于列表。您没有给它一个列表,而是给它一个 xpath。您需要获取网络元素列表才能使用 List should contain

要验证该元素是否存在,请使用 Page Should Contain Element 并为其提供选项元素的 xpath。

我的 xpath 知识有点薄弱,但我认为它看起来像这样:

Page should contain element    xpath=//select[@name="TestSelect"]/option[@value="TestOption1"]

如果您想获取与定位器匹配的网络元素列表,您可以使用 Get Web Elements