如何使用Java和Selenium2 / Webdriver将明天的日期输入文本字段

时间:2012-08-09 13:46:52

标签: java date textbox webdriver selenium-webdriver

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

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

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

2 个答案:

答案 0 :(得分:2)

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

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

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

使用SimpleDateFormatDate格式化为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的内容)。