我有一个页面使用jQuery拖放,并且我想使用Selenium为此过程构建一个相对健壮的测试套件。
查看Selenium时,我发现它在jQuery插件上有一个 拖放 命令,例如:FullCalendar,但是当我使用Selenium IDE尝试记录“拖放”时,没有任何记录的事件。
因此,我应该尝试使用jQuery选择器来定位事件吗?
由于以下操作无效(针对示例页面上的“ 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 ,可以定位该 ID 吗?无论哪种方式,拖放似乎都不起作用:
<tr> <td>dragAndDrop</td> <td>id=targetelement</td> <td>+100,+100</td> </tr>
我还可以使用jQuery定位“位置”中的元素吗?
<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>