使用Selenium测试jQuery Drag&Drop和Droppable

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

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

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

因为以下内容不起作用(针对示例页面上的“12p午餐”)

 dragAndDrop /html/body/div[2]/div/div/div[2]/div/div/div/div/div[8]/div +100,+100  

甚至点击元素

  click /html/body/div[2]/div/div/div[2]/div/div/div/div/div[8]/div +100,+100  

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

  dragAndDrop id=targetelement +100,+100  

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

  dragAndDrop selenium.getuserwindow.browserbot.jQuery('#targetelement') +100,0  

这对我有用……

    mouseDownAt //div[@id="block-set-col-1"]/ul/li 80,20   mouseMoveAt //div[@id="block-set-col-0"]/ul 50,10   mouseOver //div[@id="block-set-col-0"]/ul 50,10   pause 2000    mouseUpAt //div[@id="block-set-col-0"]/ul 50,10