我是Cucumber / java框架的新手。我正在尝试验证网页上包含3个月前的月份的信息。因此,例如:1.我搜索一些信息。2.我过滤了3个月。3.做一个断言,以确认我的过滤器显示的是3个月前的结果。网页中有一列显示日期mm / dd / yy。因此,我需要创建一种方法来验证日期是3个月前的月份和/或年份的有效性?
@Then("Verify that the filtered results display information dated back 90 days")
**public void verifyFilterBuilds90Days() { assert dashBoardPage.verifyFilterBuilds90Days();** }
public int verifyFilterBuilds90Days(){
Calendar calMinus3Months = Calendar.getInstance();
calMinus3Months.add(Calendar.MONTH, -3);
return Calendar.MONTH;
}
你在追求这样的东西吗?
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("MM/dd/uu");
String dateFromWebPage = "10/21/19";
String expected = LocalDate.now(ZoneId.systemDefault())
.minusMonths(3)
.format(dateFormatter);
if (dateFromWebPage.equals(expected)) {
System.out.println("They agree");
} else {
System.out.println("They do not agree");
}
当我刚运行此代码时,输出为:
他们同意
不过要注意:
我想防弹测试会在1到3或4或5个日期之间生成,考虑到这些要点就可以接受,并且只要其中一个确实打印在网页上就可以满足。