如何使用java验证Selenium中是否按字母顺序排列的字符串列表
有人知道如何验证字符串列表是否按字母顺序排列,或者是否使用java。我用compareTo()试过了,但没有成功 ***它仅用于验证字符串。如果是,打印“列表按字母顺序排列”和 否,打印“不符合顺序” 以下是代码::如何使用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
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部分与此无关。