[英]Problem with sorting elements Selenium webdriver java
我在對 web 元素進行排序時遇到問題,來自網站的排序元素的順序與我的排序列表中的元素的順序不同。
結果:我的排序字符串列表:
[0 0, 1 1, A A, A A, A A, AAAA, AAAA, Cascasc Aaaaa, Jan Jankowski, Jan Janowski, Jan Kon, Jan kowalski, pp]
來自網站的字符串列表:
[0 0, 1 1, A A, A A, A A, AAAA, AAAA, Cascasc Aaaaa, Jan Jankowski, Jan Janowski, Jan kowalski, Jan Kon, pp]
不同的順序:Jan Kon,Jan kowalski
我的排序字符串列表:
[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]
來自網站的列表:
[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]
不同的順序:AA,AA
代碼:
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)
請嘗試以下代碼:
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.