2013-04-02 193 views
1

我是全新的使用fire fox的selenium ide。我试图测试一个日历是一个弹出的HTML,我读了很多东西,大多数人说我需要写“javascrtip select element ...”命令,但无论我尝试了多少次,我都无法使它工作。这里是网站http://demo.owncloud.org/index.php/apps/calendar。当你点击日历日期时会出现一个弹出窗口,以便我选择日期和时间以及其他内容。我不知道你是如何得到硒在弹出工作。我甚至不知道这是否是一个Ajax或JavaScript 这里是关于选择压延Selenium IDE卡在弹出窗口中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> 

回答

0

这是你可以使用Selenium IDE交互的日历。尽管您还应该考虑使用Selenium Grid的Selenium Webdriver,它将允许您在多个浏览器中测试您的代码。这样说让我们与这个日历弹出窗口交互!

我推荐使用元素的id(当可用时),并且当没有id或id是动态使用xpath时。

对于没有id的元素,比如下图所示的标题旁边的输入元素,请使用以下命令来单击它的文本框。

命令click

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

enter image description here

硒IDE的图像的图像上方

enter image description here

提示:使用Find按钮,看看是否有指定元素co正确地使用你的xpath。它会突出显示。

对于大多数其他元素,你可以用自己的身份证的

命令'click' 目标id=fromtime

一切,我可以添加的最大秘诀是使用Firebug!如果您使用的是Selenium IDE,Firebug将会帮助你。您可能已经在使用它了,但对于任何遇到此问题的人来说都只是一个提示。

+0

非常感谢你的回答。那个目标究竟是什么?以及我在哪里可以找到“查找”按钮? Firebug是一个大帮手:)) – benzo

+0

目标位于Selenium IDE的GUI版本中。您应该能够在打开FF浏览器时点击Tools-> Selenium IDE来使用它。您也可以从那里打开您当前的IDE测试。 Target正在告诉Selenium您想与哪个元素进行互动。 – OrwellHindenberg

+0

不,我的意思是,Contains @placeholder和'az ese'是什么意思? – benzo