【问题标题】:How to verify the order of the dropdown values in selenium webdriver 2?如何验证 selenium webdriver 2 中下拉值的顺序?
【发布时间】:2014-03-20 08:53:34
【问题描述】:

我是 selenium 网络驱动程序的新手。我只是想验证下拉值的顺序。

例如,我有一个下拉菜单:服务提供商。

它有 7 个值。 Aircel、Airtel、BSNL、Docomo、Idea、Reliance、沃多丰。此下拉值按升序排序。

如何验证只有7个值且顺序正确?

谢谢

【问题讨论】:

    标签: java selenium-webdriver


    【解决方案1】:

    以下代码应该会有所帮助:

    // Create expected list :: This will contain expected drop-down values
    ArrayList expectedDropDownItems = new ArrayList();
    expectedDropDownItems.add("Aircel");
    expectedDropDownItems.add("Airtel");
    expectedDropDownItems.add("BSNL");
    expectedDropDownItems.add("Docomo");
    expectedDropDownItems.add("Idea");
    expectedDropDownItems.add("Reliance");
    expectedDropDownItems.add("Vodofone");
    
    // Create a webelement for the drop-down
    WebElement serviceProviderDropDownElement = driver.findElement(<locator of the drop-down e.g. By.id, By.xpath etc.>);
    
    // Instantiate Select class with the drop-down webelement
    Select serviceProviderDropDown = new Select(serviceProviderDropDownElement);
    
    // Retrieve all drop-down values from the app and store in actual list
    List<WebElement> valuesUnderServiceProviderDropDown  = serviceProviderDropDown.getOptions();
    
    ArrayList actualDropDownItems = new ArrayList();
    
    for(WebElement value : valuesUnderServiceProviderDropDown){
        actualDropDownItems.add(value.getText());
    }
    
    // Verify Drop-down contains ONLY 7 values
    if(valuesUnderServiceProviderDropDown.size()==7)
        System.out.println("Drop-down contain exactly 7 values");
    
    else
        System.out.println("Drop-down doesn't contain exactly 7 values");
    
    // Compare expected and actual list
    for (int i = 0; i < actualDropDownItems.size(); i++) {
        if (!expectedDropDownItems.get(i).equals(actualDropDownItems.get(i)))
        System.out.println("Drop-down values are NOT in correct order");
    }
    

    【讨论】:

      【解决方案2】:

      您可以使用以下代码获取下拉值计数。

      Webelement ele = driver.findElement(By.id("Dropdown Locator Value"));
      Select sel = new Select(ele);
      List<WebElement> list  = ele.getOptions();
      System.Out.println("Drop down Value Count :" + list.size());
      // To display the drop down value
      for(WebElement e : list){
      System.Out.println("Drop down Value :" + e.getText());
      }
      

      您可以通过比较检索到的值和预期值来检查下拉列表的值。

      【讨论】:

        猜你喜欢
        • 2014-05-13
        • 1970-01-01
        • 1970-01-01
        • 2020-11-10
        • 1970-01-01
        • 1970-01-01
        • 2020-08-11
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多