确保Webtable中的日期已经排序

时间:2017-09-05 17:47:55

标签: java selenium

我在webtable中有一列包含日期(它们已经从最新到最旧排序)。 现在我的测试用例是证明日期已经在网表中排序了。

通过这段代码,我将获得列表变量的所有日期:

 List<WebElement> rows = driver.findElements(By.xpath("//*[@id='ui-datepicker-div']/div[1]/table/tbody/tr/td[1]"));

我如何证明此列表已在UI中排序和显示?

1 个答案:

答案 0 :(得分:1)

List<WebElement> rows = driver.findElements(By.xpath("//*[@id='ui-datepicker-div']/div[1]/table/tbody/tr/td[1]")); 

你可以继续分解问题并解决这个问题。这只是一种方法,理想情况下,希望你为它编写代码:

  1. 您有一个List<WebElement> rows,您需要从中构建List<String> dates。迭代rows并执行.getText()添加到dates

  2. 创建一个方法compareDates(String d1, String d2),给定两个字符串日期,比较它在UI中的任何格式,并返回0,1,-1作为compareTo方法。

  3. 在(1)中迭代新创建的列表dates,然后断言相邻的比较

    Assertion.assertTrue(compareDates(dates.get(i),dates.get(i+1)) == 0);
    
  4. 注意:上述操作可以在List<Date>而不是List<String>上完成,您可以使用java内置比较方法比较两个日期。感谢@JeffC在评论中指出这一点。