使用Selenium(Java)验证排序功能

时间:2014-06-27 17:01:00

标签: java sorting selenium

这是我的第一篇求助信。如果您发现我的帖子有任何问题,请纠正我。

我正在尝试使用Selenium脚本(使用java)验证网页中的排序功能。这是细节......

首先,我转到包含多个页面的用户搜索结果页面。 它有用户的详细信息:用户名,英里数。 有一个带有值的排序过滤器:值A-Z,值Z-A,Miles Most,Miles Least,最新成员,最旧成员。默认情况下,排序是最新成员。 最初我只是想验证:值A-Z,值Z-A,Miles最多和Miles最少因为我可以在搜索页面中看到这些值。

1 个答案:

答案 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;

                }
            }
        }