悬停并单击动态内容

时间:2012-08-03 11:35:00

标签: watir

一直在浏览很多问题和论坛,但我无法弄明白。非常新鲜的Watir。

在用户可以创建组的网页上进行测试(该解决方案是在kendoui框架内构建的)

创建群组。

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

browser.text_field(:id =>“group_name”)。set(“delete”)

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

已创建组,然后我想删除该组。如果用户将鼠标悬停在新组上,则会在组容器的右侧显示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(:id,'left_pane')。ul(:id,'toolbox_panel')。li(:id,'group_delete')。span(:class,'minicon remove_pod')。fire_event“onclick”

给出以下内容:

  

C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.6.1/lib/watir-webdriver/elements/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(:id,'left_pane')。ul(:id,'toolbox_panel')。li(:id,'group_delete')。span(:class,/ k-state-hover /)。span (:class,'minicon remove_pod')。fire_event“onclick”

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

我对如何悬停“group_delete”有点不知所措,然后当悬停时找到delete / minicon remove_pod并单击它以删除创建的内容。

如果需要更多信息,请与我们联系。

祝你好运

2 个答案:

答案 0 :(得分:2)

要悬停和元素,请尝试以下操作:

browser.element(how, what).hover

答案 1 :(得分:1)

决定修改网页中的代码,以便在没有鼠标悬停的情况下在firebug中显示最后一个span类。

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()