如何使用java验证Selenium中是否按字母顺序排列的字符串列表

如何使用java验证Selenium中是否按字母顺序排列的字符串列表,java,selenium,Java,Selenium,有人知道如何验证字符串列表是否按字母顺序排列,或者是否使用java。我用compareTo()试过了,但没有成功 ***它仅用于验证字符串。如果是,打印“列表按字母顺序排列”和 否,打印“不符合顺序” 以下是代码:: import java.util.concurrent.TimeUnit; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElem

有人知道如何验证字符串列表是否按字母顺序排列,或者是否使用java。我用compareTo()试过了,但没有成功

***它仅用于验证字符串。如果是,打印“列表按字母顺序排列”和 否,打印“不符合顺序”

以下是代码::

import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;
public class ValidationOfSelectDropDown_4 {

public static void main(String[] args) throws InterruptedException {

    WebDriver driver=new FirefoxDriver();
    driver.get("http://my.naukri.com/manager/createacc2.php?othersrcp=16201&err=1");
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
    driver.manage().window().maximize();

    WebElement single=driver.findElement(By.xpath("//select[@id='ugcourse']"));
    Select dd=new Select(single);

    String str=single.getText();
    System.out.println(str);

    }}
字符串str的O/p为:

import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;
public class ValidationOfSelectDropDown_4 {

public static void main(String[] args) throws InterruptedException {

    WebDriver driver=new FirefoxDriver();
    driver.get("http://my.naukri.com/manager/createacc2.php?othersrcp=16201&err=1");
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
    driver.manage().window().maximize();

    WebElement single=driver.findElement(By.xpath("//select[@id='ugcourse']"));
    Select dd=new Select(single);

    String str=single.getText();
    System.out.println(str);

    }}
挑选

不追求毕业

文学学士

B.拱门

BCA

文学学士


…直到选项的末尾,您要做的是将所有这些值放在一个ArrayList中,并检查该列表是否已排序。因此,根据这些值的分隔方式(我假设根据您给出的示例,它们由新行分隔),只需执行以下操作:

List<String> listOfValues = str.split("\n");
然后根据排序后的值进行输出


注意:这篇文章是答案的汇总,如果您已经知道如何从webdriver获取字符串列表(看起来您已经知道了),您可以通过将每个元素与前一个元素进行比较来检查列表的顺序:

if (!strings.isEmpty()) {
  Iterator<String> it = strings.iterator();
  String prev = it.next();
  while (it.hasNext()) {
    String next = it.next();
    if (prev.compareTo(next) > 0) {
      return false;
    }
    prev = next;
  }
}
return true;
if(!strings.isEmpty()){
迭代器it=strings.Iterator();
字符串prev=it.next();
while(it.hasNext()){
String next=it.next();
如果(上一次比较(下一次)>0){
返回false;
}
上一个=下一个;
}
}
返回true;
如果列表很小且内存不重要,您也可以对列表进行排序并比较列表:

List<String> ordered = new ArrayList<>(strings);
Collections.sort(ordered);
boolean inOrder = ordered.equals(strings);
List ordered=新的ArrayList(字符串);
集合。排序(有序);
布尔inoorder=ordered.equals(字符串);

您可以简化问题:如果您已经知道如何从webdriver获取字符串列表,那么问题是“字符串列表是否有序”,而webdriver部分与此无关。