2012-08-03 103 views
0

查看了很多问题和论坛,但我无法弄清楚。与Watir相当新鲜。悬停并点击动态内容

否则在网页上,其中用户可以创建组测试(该溶液是在kendoui框架内构建)

创建组。

browser.button(:ID => “add_group”)点击

browser.text_field。(:ID => “GROUP_NAME”)集( “删除”)

browser.button(:点击

组创建,然后我想删除组。如果用户将鼠标悬停在新组上,则会在组容器的右侧出现thrashcan符号,然后单击该组将被删除。

代码:事情

<div id="left_pane" class="side_panel k-pane k-scrollable" style="position: absolute; top: 0px; width: 220px; height: 724px; left: 0px;"> 
<ul id="toolbox_panel" class="k-widget k-reset k-header k-panelbar" data-role="panelbar"> 
    <li class="k-item k-state-default k-first"> 
    <li id="group_ungrouped" class="k-item k-state-default" data-role="droptarget"> 
    <li id="group_delete" class="k-item k-state-default k-last" data-role="droptarget"> 
    <span class="k-link k-header k-state-hover">delete</span> 
     <!--snipp below is only visible on hover of delete element--> 
     delete 
     <span class="minicon remove_pod"></span>  
     </li> 

夫妇我已经尝试过的Watir:

browser.div(:身份证, 'left_pane')UL(:身份证, 'toolbox_panel')。李(:ID, 'group_delete')。跨距(:类, 'minicon remove_pod')。fire_event “点击”

给出以下:

C:/Ruby193/lib/ruby/gems/1.9 0.1 /宝石/的Watir -webdriver-0.6.1/LIB /的Watir-的webdriver /元件/ element.rb:36 5:assert_exists': unable to locate element, using {:class=>"minicon remove_pod", :tag_name=>"spa n"} (Watir::Exception::UnknownObjectException) from C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir-webdriver/elements/ element.rb:247:in fire_event ' 从C:/bin/scripts/ruby/sm_groups.rb:34:在`'

其他检查:

browser.div(:身份证, 'left_pane')UL(:身份证, 'toolbox_panel')里。(:身份证, 'group_delete')。跨距(:类/ K-状态悬停/)。span(:class,'minicon remove_pod')。fire_event“onclick”

browser.div(:id,'left_pane')。ul(:id,'toolbox_panel')。li ('class','k-link k-header k-state-hover')。span(:class,'minicon remove_pod')。点击

我对如何悬停“group_delete”有点遗憾,然后在悬停时找到删除/ minicon remove_pod并单击它以删除创建的内容。

如果需要更多信息,请让我知道。

问候

+0

错误消息说“无法找到元素”,所以一定要正确识别的元素。 – 2012-08-03 11:52:11

回答

2

悬停和元素,试试这个:

browser.element(how, what).hover 
+0

感谢您的评论。尝试悬停,但在最后一个元素失败。 browser.element(:id,'left_pane')。ul(:id,'toolbox_panel')。li(:id,'group_delete')。span(:class,'k-link k-header')。hover fire_event“onclick” (也试过使用.click) 给出: C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver- 0.6.1/lib/watir-webdriver/elements/element.rb:36 5:在'assert_exists':无法定位元素,使用{:class =>“minicon remove_pod”,:tag_name =>“span”}( Watir :: Exception :: UnknownObjectException) – bloch 2012-08-03 12:38:33

+0

最后一行是browser.span(:class,'minicon remove_pod')。fire_event“onclick”not browser.element for the error message。对于那个很抱歉。 – bloch 2012-08-03 12:45:31

+0

悬停实际上是否显示删除图标? – 2012-08-03 13:43:24

1

决定修改代码的网页,所以最后一个跨度类是萤火可见,但不鼠标。

的Watir的伎俩与此:

browser.element(:id, 'left_pane') 
    .ul(:id, 'toolbox_panel') 
    .li(:id, 'group_delete') 
    .span(:class, 'k-link k-header') 
    .span(:class, 'minicon remove_item') 
    .click()