【问题标题】:Robotframework: How to receive a list of all items inside a select field?Robotframework:如何接收选择字段内所有项目的列表?
【发布时间】:2015-12-22 06:41:50
【问题描述】:

我目前在 Robotframework 上进行自动化测试时陷入了困境。恳请您提供帮助。

我有一个如下样式的选择字段:

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

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

我在这个网站上找到了提示,我可以使用“列表应该包含”关键字。

为此,我定义了变量:

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

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

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

让我的第一个测试通过。不过,我想知道是否有一种舒适的方法来获取此类选择字段的选项作为列表,以便后期使用“列表应包含值”关键字。

在搜索 RobotFramework 指南时,我确实只找到了 XML 库,它似乎具有“获取子元素”之类的功能来可能提供解决方案,但是当看到它需要“源”参数时我有点怀疑,我无法提供。

提前感谢您的帮助,如果您还有其他问题,我会尽力提供。

最好的问候,

托尼

【问题讨论】:

    标签: xml select xpath robotframework


    【解决方案1】:

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

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

    我的 xpath 知识有点薄弱,但我认为应该是这样的:

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

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

    【讨论】:

    • 非常感谢您的快速回复!这有助于现在通过测试用例。不过,仍在寻找一种方法来获取选项作为优化列表。
    • @Aldaris: 要获取您可以使用的网络元素列表Get web elements
    • 非常感谢。我会调查的。
    猜你喜欢
    • 2021-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-25
    • 1970-01-01
    • 2013-01-23
    • 1970-01-01
    相关资源
    最近更新 更多