1

我是使用火狐的 selenium ide 的新手。我正在尝试测试一个弹出 html 的日历,我读了很多东西,大部分都说我需要编写“javascrtip select element ...”命令,但无论我尝试了多少次,我都无法让它工作。这是网站http://demo.owncloud.org/index.php/apps/calendar。当您单击日历日期时,会出现一个弹出窗口,让我选择日期和时间等。我不知道你如何让弹出窗口在硒中工作。我什至不知道你会如何理解它是 ajax 还是 javascript 这里是关于选择日历的部分代码

<div id="notification" style="display:none;"></div>
<div id="controls">
    <form id="view">
        <input type="button" value="Week" id="oneweekview_radio" original-title="">
        <input type="button" value="Month" id="onemonthview_radio" original-title="" class="active">
        <input type="button" value="List" id="listview_radio" original-title="">&nbsp;&nbsp;
        <img id="loading" src="/core/img/loading.gif" style="display: none;">
    </form>
    <form id="choosecalendar">
        <!--<input type="button" id="today_input" value="Today"/>-->
        <button class="settings generalsettings" title="Settings"><img class="svg" src="/core/img/actions/settings.svg" alt="Settings"></button>
    </form>
    <form id="datecontrol">
        <input type="button" value="&nbsp;&lt;&nbsp;" id="datecontrol_left" original-title="">
        <input type="button" value="April 2013" id="datecontrol_date" original-title="" class="hasDatepicker">
        <input type="button" value="&nbsp;&gt;&nbsp;" id="datecontrol_right" original-title="">
    </form>
</div>
<div id="fullcalendar" class="fc"><div class="fc-content" style="position: relative; min-height: 1px;"><div class="fc-view fc-view-month fc-grid" style="position: relative;" unselectable="on"><table class="fc-border-separate" style="width:100%" cellspacing="0"><thead><tr class="fc-first fc-last"><th class="fc-mon fc-widget-header fc-first" style="width: 182px;">Mon.</th><th class="fc-tue fc-widget-header" style="width: 182px;">

我真的很感激任何提示或帮助。

这是我所拥有的

    <tr>
    <td>open</td>
    <td>/index.php/apps/files</td>
    <td></td>
</tr>
<tr>
    <td>clickAndWait</td>
    <td>//ul[@id='apps']/li[3]/a/img</td>
    <td></td>
</tr>

---------Popup shows here ----------
<tr>
    <td>click</td>
    <td>id=category</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>id=ui-id-6</td>
    <td></td>
</tr>
<tr>
    <td>select</td>
    <td>name=calendar</td>
    <td>label=test</td>
</tr>
<tr>
    <td>select</td>
    <td>name=accessclass</td>
    <td>label=Bizalmas</td>
</tr>
<tr>
    <td>click</td>
    <td>id=from</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>link=12</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>id=to</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>link=27</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>id=submitNewEvent</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>//body[@id='body-user']/div[9]/div/button</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>id=oneweekview_radio</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>id=oneweekview_radio</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>id=onemonthview_radio</td>
    <td></td>
</tr>
4

1 回答 1

0

这是一个您可以使用 Selenium IDE 与之交互的日历。尽管您还应该考虑使用 Selenium Grid 的 Selenium Webdriver,这将允许您在多个浏览器中测试您的代码。话虽如此,让您与此日历弹出窗口进行交互!

我建议使用元素的 id(如果可用),当没有 id 或 id 是动态的时使用 xpath。

对于没有 id 的元素,例如 Title 旁边的 input 元素,如下图所示,使用以下命令单击它的文本框。

命令click

目标//input[contains(@placeholder, 'Title of the Event')]

在此处输入图像描述

上图的 Selenium IDE 的图像

在此处输入图像描述

提示:使用Find按钮查看您是否使用 xpath 正确指定了元素。它将突出显示。

对于大多数其他元素,您可以使用他们的 id

命令'click' 目标id=fromtime

我可以添加的最大提示是使用 FIREBUG!如果您使用的是 Selenium IDE,那么 Firebug 将为您提供极大的帮助。您可能已经在使用它,但这只是对遇到此问题的任何人的提示。

于 2013-04-02T17:29:52.653 回答