3
<tr>
    <td>type</td>
    <td>id=release_date</td>
    <td>2012-09-30</td>
</tr>

这可行,但我不想输入日期,而是使用 DatePicker 选择它并尝试自动化它。

4

2 回答 2

6

这将根据您的日期选择器的编码方式而有很大差异。例如,我正在开发一个使用 Dojo 的 Web 应用程序,并且我正在使用以下代码在日期选择器弹出窗口中选择特定位置而不是特定日期(因为实际日期对我的测试并不重要):

<tr>
    <td>waitForElementPresent</td>
    <td>//*[@id=&quot;startDate&quot;]</td>
    <td></td>
</tr>
<tr>
    <td>clickAt</td>
    <td>xpath=(//input[@value='▼ '])[3]</td>
    <td></td>
</tr>
<tr>
    <td>waitForElementPresent</td>
    <td>//table[@id='startDate_popup']/tbody/tr/td[4]/span</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>//table[@id='startDate_popup']/tbody/tr/td[4]/span</td>
    <td></td>
</tr>

waitForElementPresent经常使用以确保 JavaScript 在执行测试的下一步之前有时间完成运行。

我还发现clickAt在 Dojo 小部件中单击时这很有用,而且我通常更喜欢将 XPath 用于特定目标。

我希望这有帮助!

于 2012-08-02T16:49:15.840 回答
1

作为 Selenium IDE 的新手,这些天我做了一些包含日期选择器的测试。

我将粘贴我的 HTML 代码,但如果您有任何问题或任何问题,请随时提出。

<!--Set some random generators for Hour From/To-->
<tr>
    <td>storeEval</td>
    <td>[Math.floor((Math.random() * 31) + 1)]</td>
    <td>random</td>
</tr>
<tr>
    <td>click</td>
    <td>//select[@id='valid']/option[3]</td>
    <td></td>
</tr>
<!--Add values to From date and To date-->
<tr>
    <td>click</td>
    <td>id=p_date_from</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>link=${random}</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>//div[@id='valid_period']/p[2]/span/span/abbr</td>
    <td></td>
</tr>
<tr>
    <td>storeEval</td>
    <td>[Math.floor((Math.random() * 10) + 1)]</td>
    <td>random</td>
</tr>
<tr>
    <td>click</td>
    <td>link=${random}</td>
    <td></td>
</tr>
于 2014-05-28T06:03:50.150 回答