[英]Problem with sorting elements Selenium webdriver java
I have a problem with sorting web elements, sorted elements from the website are in a different order than elements from my sorted-list.我在对 web 元素进行排序时遇到问题,来自网站的排序元素的顺序与我的排序列表中的元素的顺序不同。
Result: My sorted String list:结果:我的排序字符串列表:
[0 0, 1 1, A A, A A, A A, AAAA, AAAA, Cascasc Aaaaa, Jan Jankowski, Jan Janowski, Jan Kon, Jan kowalski, pp]
String List from website:来自网站的字符串列表:
[0 0, 1 1, A A, A A, A A, AAAA, AAAA, Cascasc Aaaaa, Jan Jankowski, Jan Janowski, Jan kowalski, Jan Kon, pp]
difernt order: Jan Kon, Jan kowalski不同的顺序:Jan Kon,Jan kowalski
My sorted String list:我的排序字符串列表:
[0 0, 464 464, A A, A A, a a, a a, a a, a b, a s, aa a, abv sada, ala Janka, ala ola, anna, anna, anna, bankowa]
List from website:来自网站的列表:
[0 0, 464 464, a a, a a, a a, a b, a s, aa a, abv sada, ala Janka, ala ola, anna, anna, anna, bankowa, A A, A A]
difernt order: AA, AA不同的顺序:AA,AA
Code:代码:
getObtainedList(String css){
ArrayList<String> obtainedList = new ArrayList<>();
List<WebElement> elementList= driver.findElements(By.CssSelector(css));
for(webElement we:elementList){
obtainedList.add(we.getText);
}
}
getSortedList(List list){
ArrayList<String> sortedList = new ArrayList<>();
for(String s:list){
sortedList.add(s);
}
}
List<String> obtainedList = getObtainedList(cssSelector);
List<String> sortedList = getSortedList(obtainedList);
Collections.sort(sortedList)
Assert.assertEquals(sortedList, obtainedList)
Please try the below code:请尝试以下代码:
ArrayList<String> obtainedList = new ArrayList<>();
// Get all options
List<WebElement> elementList= driver.findElements(By.CssSelector(css));
// Creating a list to store drop down options
List options = new ArrayList();
for(WebElement optionElement : elementList)
{
obtainedList.add(optionElement.getText());
}
System.out.println("Options in dropdown with Default order :"+obtainedList);
// Creating a temp list to sort
List tempList = new ArrayList(obtainedList);
Collections.sort(tempList);
System.out.println("Sorted List "+ tempList);
boolean ifSortedAscending = obtainedList.equals(tempList);
if(ifSortedAscending)
{
System.out.println("List is sorted");
}
else
System.out.println("List is not sorted.");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.