我如何测试使用硒在下拉菜单中按字母顺序对项目进行排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何测试使用硒在下拉菜单中按字母顺序对项目进行排序相关的知识,希望对你有一定的参考价值。

[假设网页上有一个国家/地区下拉菜单,其中世界195个国家/地区按字母顺序排列,我必须验证它们是否按字母顺序排列。我怎么做?通过将所有国家/地区一一添加,我可以将它们存储在ArrayList对象中,但这是一项巨大的工作。有没有更聪明的方法呢?

答案

首先,我们需要将所有可用的下拉选项存储在ArrayList中。然后创建一个临时列表,并使用Collections.sort方法按升序对其进行排序。最后使用equals()方法将临时列表与下拉列表进行匹配。

[请参考下面基于this网站构建的代码,

WebDriver driver= new ChromeDriver();

driver.get("https://www.seleniumeasy.com/test/basic-select-dropdown-demo.html");

    // Locating select tag web element
    WebElement singleSelectTagDropdownWebElement= driver.findElement(By.xpath("//*[@id=\"select-demo\"]"));
    Select dropdown = new Select(singleSelectTagDropdownWebElement);

    // Get all options
    List<WebElement> allOptionsElement = dropdown.getOptions();

    // Creating a list to store drop down options
    List options = new ArrayList();


    for(WebElement optionElement : allOptionsElement)
    
        options.add(optionElement.getText());
    

    // Removing "Please select" option as it is not actual option
    options.remove("Please select");

    System.out.println("Options in dropdown with Default order :"+options);

    // Creating a temp list to sort
    List tempList = new ArrayList(options);

    Collections.sort(tempList);

    System.out.println("Sorted List "+ tempList);

    boolean ifSortedAscending = options.equals(tempList);

    if(ifSortedAscending)
    
        System.out.println("List is sorted");
    
    else
        System.out.println("List is not sorted.");

    driver.quit();

请转到here了解更多详细信息。

以上是关于我如何测试使用硒在下拉菜单中按字母顺序对项目进行排序的主要内容,如果未能解决你的问题,请参考以下文章

如何在数据库表中按字母顺序对列进行排序? [关闭]

如何在 swift 中按字母顺序对 JSON 字符串进行排序?

如何在C中按顺序对带有数字和字母的文件名进行排序?

如何在 iOS 中按字母顺序对 MediaQuery 的 ArtistQuery 数组进行排序

如何在 Laravel 中按字母顺序对记录进行排序

如何在pyspark中按字母顺序对嵌套结构的列进行排序?