在做一个项目的selenium测试,但是遇到一个问题,通过tape语句输入日期之后,到selenium运行到查询按钮的时候,
输入的日期却是不正确了。比如输入04102013,结果却04/02/13__。输入04/10/2013,结果却是04/10/20。
后来深入的研究了日期输入框的行为,原来是系统在js上做了一些特殊的处理。光标进入时,把格式掩码(如/)去掉,
显示数字,光标离开之后,进行格式掩码处理。 并且限制该输入框的最大输入长度为8。因此,才造成上面的几种错误。
所以,我们就采用下面的作法,模拟光标的进入,赋值,光标离开。
selenium.focus("id=condition.orderNo"); //id=condition.fromDate的上一个项目 selenium.keyPressNative("09"); //模拟键入tab键 selenium.focus("id=condition.fromDate"); // 设光标 selenium.type("id=condition.fromDate", "04102013"); //赋值 selenium.focus("id=condition.fromDate"); //设光标 selenium.keyPressNative("09"); //模拟键入tab键 |