Selenium IDE - 捕获当前日期

时间:2011-10-06 10:05:29

标签: selenium selenium-ide

我想知道selenium是否有办法捕获当前日期,月份,年份,因为我使用的应用程序有一个单独的日期,月份,年份字段,我们需要手动输入。我的问题我在这里测试用例只接受日期< = 31天,并且不接受过去的任何日期。所以,如果我有办法可以捕捉当前日期,月份,年份(数值)这将是有用的

例如

  <tr>
        <td>type</td>
        <td>form1:txtCoverDateDay</td>
        <td>02</td>
    </tr>
    <tr>
        <td>type</td>
    <td>form1:txtCoverDateMonth</td>
    <td>11</td>
</tr>
<tr>
    <td>type</td>
    <td>form1:txtCoverDateYear</td>
    <td>2011</td>
</tr>

1 个答案:

答案 0 :(得分:9)

使用storeEval

以下示例是一个完全符合您要求的完全工作的selenium测试,要运行它打开IDE,单击主窗口中的Source选项卡并将代码粘贴到<tbody>标记

之间
<tr>
    <td>open</td>
    <td>http://www.plus2net.com/php_tutorial/date-selection.php</td>
    <td></td>
</tr>
<tr>
    <td>storeEval</td>
    <td>new Date().setDate( new Date().getDate() + 31);</td>
    <td>date</td>
</tr>
<tr>
    <td>echo</td>
    <td>${date}</td>
    <td></td>
</tr>
<tr>
    <td>storeEval</td>
    <td>d=new Date( new Date().getFullYear(), new Date().getMonth(), new Date().getDate() + 31); d=d.getFullYear()</td>
    <td>year</td>
</tr>
<tr>
    <td>type</td>
    <td>name=year</td>
    <td>${year}</td>
</tr>
<tr>
    <td>echo</td>
    <td>${year}</td>
    <td></td>
</tr>
<tr>
    <td>storeEval</td>
    <td>d=new Date( new Date().getFullYear(), new Date().getMonth(), new Date().getDate() + 31); d=d.getMonth() + 1</td>
    <td>month</td>
</tr>
<tr>
    <td>select</td>
    <td>name=month</td>
    <td>value=${month}</td>
</tr>
<tr>
    <td>echo</td>
    <td>${month}</td>
    <td></td>
</tr>
<tr>
    <td>storeEval</td>
    <td>d=new Date( new Date().getFullYear(), new Date().getMonth(), new Date().getDate() + 31).getDate(); d= d.toString().length == 1 ? &quot;0&quot; + d : d;</td>
    <td>day</td>
</tr>
<tr>
    <td>select</td>
    <td>name=dt</td>
    <td>label=${day}</td>
</tr>
<tr>
    <td>echo</td>
    <td>${day}</td>
    <td></td>
</tr>

我已经在javascript中添加了将来31天返回的日期。

您还可以使用runScript和storeEval的组合来从页面获取几乎任何内容 我问的一个问题表明了这个想法

Load an external js file containing useful test functions in selenium

任何其他问题都会添加评论,我很乐意提供帮助:)

请参阅@ icc97注释,在日期中添加零填充。