我有一个页面,使用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>