我在webtable中有一列包含日期(它们已经从最新到最旧排序)。 现在我的测试用例是证明日期已经在网表中排序了。
通过这段代码,我将获得列表变量的所有日期:
List<WebElement> rows = driver.findElements(By.xpath("//*[@id='ui-datepicker-div']/div[1]/table/tbody/tr/td[1]"));
我如何证明此列表已在UI中排序和显示?
答案 0 :(得分:1)
List<WebElement> rows = driver.findElements(By.xpath("//*[@id='ui-datepicker-div']/div[1]/table/tbody/tr/td[1]"));
你可以继续分解问题并解决这个问题。这只是一种方法,理想情况下,希望你为它编写代码:
您有一个List<WebElement> rows
,您需要从中构建List<String> dates
。迭代rows
并执行.getText()
添加到dates
。
创建一个方法compareDates(String d1, String d2)
,给定两个字符串日期,比较它在UI中的任何格式,并返回0,1,-1作为compareTo方法。
在(1)中迭代新创建的列表dates
,然后断言相邻的比较
Assertion.assertTrue(compareDates(dates.get(i),dates.get(i+1)) == 0);
注意:上述操作可以在List<Date>
而不是List<String>
上完成,您可以使用java内置比较方法比较两个日期。感谢@JeffC在评论中指出这一点。