Selenium IDE卡在弹出窗口javascript中

时间:2013-04-02 17:17:22

标签: javascript html css ajax selenium

我是使用火狐的硒新品牌。我正在尝试测试一个弹出html的日历,我读了很多东西,并且大多说我需要写“javascrtip select element ...”命令,但不管我尝试了多少次我都无法使它工作。这是网站http://demo.owncloud.org/index.php/apps/calendar。当你点击日历日期时,会有一个弹出窗口,以便我选择日期和时间。我不知道你是如何在硒中使用popup的。如果它是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>

1 个答案:

答案 0 :(得分:0)

这是一个可以使用Selenium IDE进行交互的日历。虽然你也应该考虑使用Selenium Grid的Selenium Webdriver,它允许你在多个浏览器中测试你的代码。有了这个说,让你让你与这个日历弹出窗口交互!

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

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

命令click

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

enter image description here

上图中Selenium IDE的图片

enter image description here

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

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

命令'click' 目标id=fromtime

我可以添加的最大TIP是使用FIREBUG!如果您使用的是Selenium IDE,Firebug将为您提供极大的帮助。你可能已经在使用它,但只是给那些碰到这个的人提示。