0

我正在使用 Selenium2/WebDriver 在 Java 中编写自动化测试。我需要验证未来的生日是不允许的。为了获得明天的日期,我正在使用:

Calendar calendar = Calendar.getInstance();
Date today = calendar.getTime();
calendar.add(Calendar.DAY_OF_YEAR, 1);

我无法将其打印到文本字段,因为 .sendKeys 需要字符。任何帮助表示赞赏。我也不确定这是否是获得明天约会的最佳方式。

4

2 回答 2

2

您的代码基本上是正确的。使用 aCalendar生成Date对象:

Calendar calendar = Calendar.getInstance();
Date today = calendar.getTime();

calendar.add(Calendar.DAY_OF_YEAR, 1);
Date tomorrow = calendar.getTime();

用于SimpleDateFormat将其格式化DateString

DateFormat dateFormat = new SimpleDateFormat("dd-MMM-yyyy");

String todayAsString = dateFormat.format(today);
String tomorrowAsString = dateFormat.format(tomorrow);

System.out.println(todayAsString);
System.out.println(tomorrowAsString);

印刷:

09-Aug-2012
10-Aug-2012

您可以使用 Selenium 将这些String对象发送到日期控件(当然,如果它接受键控输入)。您需要调整日期模式"dd-MMM-yyyy"以匹配页面上输入控件所期望的格式,例如它可能是 ( "MM/dd/YY")?

于 2012-08-09T13:58:01.243 回答
0

首先,您不是要在定义日期之前添加吗?然后,你可以做一个

today.toString()

通过 sendkeys 分配,但 IMO 您应该首先查看小部件接受的格式(例如欧洲与美国)并相应地格式化您的日期(例如使用类似这样的东西)。

于 2012-08-09T13:54:51.350 回答