我正在使用Selenium2 / WebDriver在Java中编写自动化测试。我需要在将来验证生日是不允许的。为了明天的约会,我正在使用:
Calendar calendar = Calendar.getInstance();
Date today = calendar.getTime();
calendar.add(Calendar.DAY_OF_YEAR, 1);
我无法将其打印到文本字段,因为.sendKeys需要字符。任何帮助表示赞赏。我也不确定这是否是获得明天约会的最佳方式。
答案 0 :(得分:2)
您的代码基本上是正确的。使用Calendar
生成Date
个对象:
Calendar calendar = Calendar.getInstance();
Date today = calendar.getTime();
calendar.add(Calendar.DAY_OF_YEAR, 1);
Date tomorrow = calendar.getTime();
使用SimpleDateFormat
将Date
格式化为String
:
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"
)?
答案 1 :(得分:0)
首先,您不是要在定义日期之前添加吗?然后,你可以做一个
today.toString()
通过sendkeys分配,但IMO你首先要看小部件接受的格式(例如欧洲与美国)并相应地格式化你的日期(例如使用类似this的内容)。