我有一个使用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>
答案 0 :(得分:4)
这对我有用......
<!--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>