这是我的第一篇求助信。如果您发现我的帖子有任何问题,请纠正我。
我正在尝试使用Selenium脚本(使用java)验证网页中的排序功能。这是细节......
首先,我转到包含多个页面的用户搜索结果页面。 它有用户的详细信息:用户名,英里数。 有一个带有值的排序过滤器:值A-Z,值Z-A,Miles Most,Miles Least,最新成员,最旧成员。默认情况下,排序是最新成员。 最初我只是想验证:值A-Z,值Z-A,Miles最多和Miles最少因为我可以在搜索页面中看到这些值。
答案 0 :(得分:0)
对于想要解决同样问题的人。下面的代码可以帮助我验证页面中所有字符串值的排序
//Declare Variables
int eleCount;
List<String> customerNameA = new ArrayList();
List<String> customerNameB = new ArrayList();
// Check for our Customer elements and count them.... replace xxx with your xpath
assertTrue(isElementPresent(By.xpath("xxx")));
elements = driver.findElements(By.xpath("xxx']"));
eleCount = elements.size();
System.out.println("Element count: " + eleCount);
for(int i = 2; i < eleCount; i++){
//Capture the customer name values
//replace xxx with your xpath & replace the value increments for each element in xpath with + i +
customerNameA.add(driver.findElement(By.xpath("xxx")).getText());
System.out.println(driver.findElement(By.xpath("xxx")).getText());
customerNameB.add(driver.findElement(By.xpath("xxx")).getText());
}
Collections.sort(customerNameA);
for (int i=0;i<customerNameA.size();i++) {
System.out.println("Customer Name from input: " + customerNameB.get(i) + "--Customer Name from sorted input: " + customerNameA.get(i));
if (!(customerNameA.get(i).equals(customerNameB.get(i)))) {
System.out.println("Customer Names not sorted: " + i);
break;
}
}
}