【发布时间】:2011-09-28 18:11:40
【问题描述】:
我正在使用Selenium IDE 测试我的网络应用程序。在某些测试用例中,我必须断言今天的日期出现在页面上。我无法在测试中硬编码今天的日期,因为今天的日期每天都在变化。如何在 Selenium IDE 中获取当前日期、月份和年份?
【问题讨论】:
我正在使用Selenium IDE 测试我的网络应用程序。在某些测试用例中,我必须断言今天的日期出现在页面上。我无法在测试中硬编码今天的日期,因为今天的日期每天都在变化。如何在 Selenium IDE 中获取当前日期、月份和年份?
【问题讨论】:
不确定你的日期是什么格式,但你可以这样做:
<tr>
<td>storeEval</td>
<td>var d=new Date(); d.getDate()+'-'+((d.getMonth()+1))
+'-'+d.getFullYear();</td>
<td>date2</td>
</tr>
<tr>
<td>echo</td>
<td>${date2}</td>
<td></td>
</tr>
【讨论】:
线
<td>var d=new Date(); d.getDate()+'-'+((d.getMonth()+1))+'-'+d.getFullYear();</td> 有效,但将月份返回为个位数。
对于我的测试用例,我需要以 YYYY-MM-DD 格式返回的日期,所以我使用
<td>var d= new Date(); var m=((d.getMonth()+1)<10)?'0'+(d.getMonth()+1):(d.getMonth()+1); d.getFullYear()+"-"+m+"-"+d.getDate();</td>
【讨论】:
M 和 D 的两位数(即 MM/DD/YYYY 格式):
<td>var t= new Date(); var d=((t.getDate())<10)?'0'+(t.getDate()):(t.getDate()); var m=((t.getMonth()+1)<10)?'0'+(t.getMonth()+1):(t.getMonth()+1); m+"/"+d+"/"+t.getFullYear();</td>
【讨论】:
在 Selenium IDE 中试试这个。它将时间戳打印为 yyyymmddhhmmss。
<tr>
<td>storeExpression</td>
<td>javascript{var date = new Date();date.getFullYear() + '' + ((date.getMonth()+1<10)?('0'+(date.getMonth()+1)):(date.getMonth()+1)) + '' + ((date.getDate()+1<10)?('0'+(date.getDate()+1)):(date.getDate()+1)) + '' + date.getHours() + '' + date.getMinutes() + '' + date.getSeconds();}</td>
<td>date</td>
</tr>
<tr>
<td>echo</td>
<td>${date}</td>
<td></td>
</tr>
【讨论】: