如何检查webtable中的webelements是使用selenium webdriver按字母顺序排序的?

sre*_*ath -1 java selenium selenium-webdriver

我们的应用程序包含Web元素表.我的目的是检查内容表是否按字母顺序排列.

WebDriver d=new FirefoxDriver();
d.get("http://www.javatpoint.com/wrapper-class-in-java");

WebElement table=d.findElement(By.xpath(".//*[@id='city']/table/tbody"));
List<WebElement> lst=table.findElements(By.tagName("tr"));
System.out.println(lst);

List ls=new ArrayList<String>();
for(int i=0;i<=6;i++)
{
    ls=lst.addAll(get(i).getText())
}
Run Code Online (Sandbox Code Playgroud)

我的目标是将字符串类型webelement存储在一个列表中,并创建另一个列表,该列表在最后比较两个列表中是排序类型.请帮忙.

Pra*_*eek 10

您可以将默认排序存储在字符串数组中obtainedList,然后使用集合对其进行排序sortedList,最后两者都进行排序.

ArrayList<String> obtainedList = new ArrayList<>(); 
List<WebElement> elementList= driver.findElements(By.xpath(YourLocator));
for(webElement we:elementList){
   obtainedList.add(we.getText);
}
ArrayList<String> sortedList = new ArrayList<>();   
for(String s:obtainedList){
sortedList.add(s);
}
Collections.sort(sortedList);
Assert.assertTrue(sortedList.equals(obtainedList));
Run Code Online (Sandbox Code Playgroud)

对于降序添加:

Collections.reverse(sortedList);
Run Code Online (Sandbox Code Playgroud)

Collections.sort(sortedList);