Robotframework:如何接收选择字段中所有项目的列表?

时间:2015-09-24 15:19:30

标签: xml select xpath robotframework

我目前在Robotframework上进行测试自动化时遇到了当前的情况。我请求你的帮助。

我有一个以下风格的选择字段:

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

我现在想检查一下,如果选择项确实包含值TestOption1。

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

为此,我定义了变量:

$ {XPath_AccessList} xpath = //选择[@ name =“TestSelect”]

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

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

让我的第一次测试通过。不过,我想知道是否有一种方便的方法来获取这样的选择字段的选项作为列表,以便延迟使用“List Should Contain Value”关键字。

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

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

致以最诚挚的问候,

1 个答案:

答案 0 :(得分:2)

List should contain仅适用于列表。你没有给它一个列表,你给它一个xpath。您需要获取Web元素列表才能使用Page should contain element xpath=//select[@name="TestSelect"]/option[@value="TestOption1"]

要验证元素是否存在,请使用Page Should Contain Element并为option元素指定一个xpath。

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

 <ListView x:Name="lvNotes" ItemSelected="OnSelection">
          <ListView.ItemTemplate>
            <DataTemplate>
              <TextCell Text="{Binding Object.Name}" Detail="{Binding Object.Subject}"/>
            </DataTemplate>
          </ListView.ItemTemplate>
        </ListView>

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