如何通过selenium web驱动程序验证计算的日期是否正确?考虑以下例子:
日期: 01/01/2001 持续时间: 10 截至日期: 01/10/2001
我将指示selenium在日期字段和持续时间上输入日期。系统应根据从日期和持续时间输入的数据自动计算截止日期。
我想知道是否有一种方法来验证计算到日期是否正确,因为从日期和持续时间字段上输入的值可能会不时更改。
“日期”和“持续时间”字段的静态值也可以--我猜。
谢谢!
发布于 2014-04-21 10:25:06
您可以使用java.util方法来完成这一任务。我假设您会从测试数据集中将从Date、和作为字符串传递给selenium/webdriver。您必须对每个测试数据执行以下操作:
获取到Date的方法
public static String getToDate(String fromDate, String duration){
try {
String[] arrFromDate = fromDate.split("/");
int fromMonth = Integer.parseInt(arrFromDate[0])-1;
int fromDay = Integer.parseInt(arrFromDate[1]);
int fromYear = Integer.parseInt(arrFromDate[2]);
int intDuration = Integer.parseInt(duration);
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
Calendar cal = Calendar.getInstance();
cal.set(Calendar.DAY_OF_MONTH, fromDay);
cal.set(Calendar.MONTH, fromMonth);
cal.set(Calendar.YEAR, fromYear);
cal.add(Calendar.DAY_OF_MONTH, intDuration);
String toDate = sdf.format(cal.getTime());
return toDate;
} catch (NumberFormatException e) {
e.printStackTrace();
return null;
}核实代码:
String appToDate = driver.findElement(By.id("toDate")).getText();
String myToDate = getToDate("01/01/2001","10");
boolean isToDateCorrect = false;
if (appToDate.equals(myToDate )){
isToDateCorrect = true;
}发布于 2014-04-21 10:58:38
我建议解析日期而不是拆分字符串。
String strDate = "01/01/2001";
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("MM/dd/yyyy");
Date date = simpleDateFormat.parse(strDate);
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.DATE, 10); // 10 == duration
String outStr = simpleDateFormat.format(calendar.getTime());https://stackoverflow.com/questions/23194353
复制相似问题