微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Selenium测试jQuery Drag&Drop和Droppable

我有一个页面,使用jQuery Drag& amp; Drop,我想使用 Selenium为这个过程构建一个相对强大的测试套件.

看看Selenium,我发现它有一个Drag&在jQuery插件删除命令,如:FullCalendar,但是当我使用Selenium IDE尝试记录’拖放时,我没有得到任何记录的事件.

那么我应该尝试使用jQuery选择器来定位事件吗?

因为以下不起作用(针对example page上的’12p午餐’)

<tr>
    <td>dragAndDrop</td>
    <td>/html/body/div[2]/div/div/div[2]/div/div/div/div/div[8]/div</td>
    <td>+100,+100</td>
</tr>

甚至点击元素

<tr>
    <td>click</td>
    <td>/html/body/div[2]/div/div/div[2]/div/div/div/div/div[8]/div</td>
    <td>+100,+100</td>
</tr>

在这两种情况下都找不到XPath.那么我该如何定位这个变化的元素呢?如果我在选择器中有唯一的ID,我可以定位吗?无论哪种方式,拖放似乎都不起作用:

<tr>
    <td>dragAndDrop</td>
    <td>id=targetelement</td>
    <td>+100,+100</td>
</tr>

我也可以使用jQuery定位’Location’中的元素吗?

<tr>
    <td>dragAndDrop</td>
    <td>selenium.getuserwindow.browserbot.jQuery('#targetelement')</td>
    <td>+100,0</td>
</tr>

解决方法

这对我有用……
<!--test sorting-->
<!--move block 2 to col 1-->
<tr>
    <td>mouseDownAt</td>
    <td>//div[@id="block-set-col-1"]/ul/li</td>
    <td>80,20</td>
</tr>
<tr>
    <td>mouseMoveAt</td>
    <td>//div[@id="block-set-col-0"]/ul</td>
    <td>50,10</td>
</tr>
<tr>
    <td>mouSEOver</td>
    <td>//div[@id="block-set-col-0"]/ul</td>
    <td>50,10</td>
</tr>
<tr>
    <td>pause</td>
    <td>2000</td>
    <td></td>
</tr>
<tr>
    <td>mouseUpAt</td>
    <td>//div[@id="block-set-col-0"]/ul</td>
    <td>50,10</td>
</tr>

原文地址:https://www.jb51.cc/jquery/181390.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐