检查SelectBox是否包含项目,Robot-Framework,Selenium2Library

时间:2014-06-26 10:20:37

标签: selenium-webdriver robotframework

如何检查<select>框是否超过1 <option>

使用ajax加载<option>并将其放入两个<optgroup>

<option value="">default</option>
<optgroup ...>
    <option value=..>...
    <option ..>...
    ...
</optgroup>
<optgroup ...>
    <option ..>...
    <option ..>...
    ...

2 个答案:

答案 0 :(得分:2)

您可以使用Get List Items返回所有项目的列表,然后使用Get Length获取列表中的元素数量:

Select Options Test
    Open Browser      your_url            chrome
    @{items}          Get List Items      id=select_list_id
    ${list_length}    Get Length          ${items}
    Should Be True    ${list_length} > 1

答案 1 :(得分:1)

您至少有几个选择:

  1. 使用Get Matching Xpath Count关键字返回与表示选项的xpath匹配的数字元素,或
  2. 使用Get List Items获取所有项目,然后使用“获取长度”返回长度。
  3. 由于我无法针对您的确切代码编写示例,因此以下示例针对http://the-internet.herokuapp.com/dropdown处的页面运行。它有标记,包括这个(当我写这个答案时):

    <select id='dropdown'>
        <option value="" disabled="disabled" selected="selected">Please select an option</option>
        <option value="1">Option 1</option>
        <option value="2">Option 2</option>
    </select>
    

    这是一个完整的工作示例:

    *** Test Cases ***
    | Example 
    | | 
    | | Go to | ${ROOT}/dropdown
    | | 
    | | ${count}= | Get matching xpath count | //select[@id='dropdown']/option
    | | Should be equal as numbers | ${count} | 3
    | | 
    | | @{items}= | Get list items | //select[@id='dropdown']
    | | ${item count}= | Get Length | ${items}
    | | Should be equal as numbers | ${item count} | 3
    
    *** Settings ***
    | Library        | Selenium2Library
    | Suite Setup    | Open browser | ${ROOT} | ${BROWSER}
    | Suite Teardown | Close all browsers
    
    *** Variables ***
    | ${BROWSER} | chrome
    | ${ROOT}    | http://the-internet.herokuapp.com